blob: 773ba1e1aee32c42ca101bcf49ce2617871573b6 [file] [log] [blame]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001; Testcase for calls to the standard C "pow" function
2;
3; Equivalent to: http://gcc.gnu.org/ml/gcc-patches/2003-02/msg01786.html
4; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
5; RUN: not grep {call double .pow}
6; END.
7
8declare double %pow(double, double)
9
10double %test1(double %X) {
11 %Y = call double %pow(double %X, double 0.0)
12 ret double %Y ; x^0.0 always equals 1.0
13}
14
15double %test2(double %X) {
16 %Y = call double %pow(double %X, double -0.0)
17 ret double %Y ; x^-0.0 always equals 1.0
18}
19
20double %test3(double %X) {
21 %Y = call double %pow(double 1.0, double %X)
22 ret double %Y ; 1.0^x always equals 1.0
23}
24