Dan Gohman | f17a25c | 2007-07-18 16:29:46 +0000 | [diff] [blame^] | 1 | ; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | not grep call |
| 2 | |
| 3 | declare double %cos(double) |
| 4 | declare double %sin(double) |
| 5 | declare double %tan(double) |
| 6 | declare double %sqrt(double) |
| 7 | declare bool %llvm.isunordered.f64(double, double) |
| 8 | |
| 9 | double %T() { |
| 10 | %A = call double %cos(double 0.0) |
| 11 | %B = call double %sin(double 0.0) |
| 12 | %a = add double %A, %B |
| 13 | %C = call double %tan(double 0.0) |
| 14 | %b = add double %a, %C |
| 15 | %D = call double %sqrt(double 4.0) |
| 16 | %c = add double %b, %D |
| 17 | ret double %c |
| 18 | } |
| 19 | |
| 20 | bool %TNAN() { |
| 21 | %A = call bool %llvm.isunordered.f64(double 0x7FF8000000000000, double 1.0) ;; it's a nan! |
| 22 | %B = call bool %llvm.isunordered.f64(double 123.0, double 1.0) |
| 23 | %C = or bool %A, %B |
| 24 | ret bool %C |
| 25 | } |