Testcase for PR2032.
[oota-llvm.git] / test / Transforms / SimplifyLibCalls / Pow.ll
1 ; 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
8 declare double %pow(double, double)
9
10 double %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
15 double %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
20 double %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