Tanya Lattner | ec9a35a | 2008-03-01 09:15:35 +0000 | [diff] [blame^] | 1 | ; RUN: llvm-as < %s | opt -constprop | llvm-dis | not grep call |
Chris Lattner | cc713a3 | 2004-04-13 19:28:09 +0000 | [diff] [blame] | 2 | |
Tanya Lattner | ec9a35a | 2008-03-01 09:15:35 +0000 | [diff] [blame^] | 3 | declare double @cos(double) |
Chris Lattner | cc713a3 | 2004-04-13 19:28:09 +0000 | [diff] [blame] | 4 | |
Tanya Lattner | ec9a35a | 2008-03-01 09:15:35 +0000 | [diff] [blame^] | 5 | declare double @sin(double) |
| 6 | |
| 7 | declare double @tan(double) |
| 8 | |
| 9 | declare double @sqrt(double) |
| 10 | |
| 11 | declare i1 @llvm.isunordered.f64(double, double) |
| 12 | |
| 13 | define double @T() { |
| 14 | %A = call double @cos( double 0.000000e+00 ) ; <double> [#uses=1] |
| 15 | %B = call double @sin( double 0.000000e+00 ) ; <double> [#uses=1] |
| 16 | %a = add double %A, %B ; <double> [#uses=1] |
| 17 | %C = call double @tan( double 0.000000e+00 ) ; <double> [#uses=1] |
| 18 | %b = add double %a, %C ; <double> [#uses=1] |
| 19 | %D = call double @sqrt( double 4.000000e+00 ) ; <double> [#uses=1] |
| 20 | %c = add double %b, %D ; <double> [#uses=1] |
| 21 | ret double %c |
Chris Lattner | cc713a3 | 2004-04-13 19:28:09 +0000 | [diff] [blame] | 22 | } |
Chris Lattner | 7ba02f1 | 2004-06-11 06:16:13 +0000 | [diff] [blame] | 23 | |
Tanya Lattner | ec9a35a | 2008-03-01 09:15:35 +0000 | [diff] [blame^] | 24 | define i1 @TNAN() { |
| 25 | %A = fcmp uno double 0x7FF8000000000000, 1.000000e+00 ; <i1> [#uses=1] |
| 26 | %B = fcmp uno double 1.230000e+02, 1.000000e+00 ; <i1> [#uses=1] |
| 27 | %C = or i1 %A, %B ; <i1> [#uses=1] |
| 28 | ret i1 %C |
Chris Lattner | 7ba02f1 | 2004-06-11 06:16:13 +0000 | [diff] [blame] | 29 | } |
Tanya Lattner | ec9a35a | 2008-03-01 09:15:35 +0000 | [diff] [blame^] | 30 | |