Chris Lattner | 539c337 | 2006-02-11 09:37:07 +0000 | [diff] [blame] | 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 |
Tanya Lattner | ceca194 | 2008-03-10 07:21:50 +0000 | [diff] [blame^] | 4 | ; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | \ |
Reid Spencer | 894cfff | 2007-04-15 05:16:38 +0000 | [diff] [blame] | 5 | ; RUN: not grep {call double .pow} |
| 6 | ; END. |
Reid Spencer | 0f4a891 | 2005-04-29 05:47:05 +0000 | [diff] [blame] | 7 | |
Tanya Lattner | ceca194 | 2008-03-10 07:21:50 +0000 | [diff] [blame^] | 8 | declare double @pow(double, double) |
Reid Spencer | 0f4a891 | 2005-04-29 05:47:05 +0000 | [diff] [blame] | 9 | |
Tanya Lattner | ceca194 | 2008-03-10 07:21:50 +0000 | [diff] [blame^] | 10 | define double @test1(double %X) { |
| 11 | %Y = call double @pow( double %X, double 0.000000e+00 ) ; <double> [#uses=1] |
| 12 | ret double %Y |
Reid Spencer | 0f4a891 | 2005-04-29 05:47:05 +0000 | [diff] [blame] | 13 | } |
Chris Lattner | 539c337 | 2006-02-11 09:37:07 +0000 | [diff] [blame] | 14 | |
Tanya Lattner | ceca194 | 2008-03-10 07:21:50 +0000 | [diff] [blame^] | 15 | define double @test2(double %X) { |
| 16 | %Y = call double @pow( double %X, double -0.000000e+00 ) ; <double> [#uses=1] |
| 17 | ret double %Y |
Chris Lattner | 539c337 | 2006-02-11 09:37:07 +0000 | [diff] [blame] | 18 | } |
| 19 | |
Tanya Lattner | ceca194 | 2008-03-10 07:21:50 +0000 | [diff] [blame^] | 20 | define double @test3(double %X) { |
| 21 | %Y = call double @pow( double 1.000000e+00, double %X ) ; <double> [#uses=1] |
| 22 | ret double %Y |
Chris Lattner | 539c337 | 2006-02-11 09:37:07 +0000 | [diff] [blame] | 23 | } |
| 24 | |