Tanya Lattner | e9789ef | 2004-11-06 23:32:43 +0000 | [diff] [blame] | 1 | ; RUN: llvm-as -f %s -o %t.bc |
| 2 | ; RUN: lli %t.bc > /dev/null |
| 3 | |
Chris Lattner | 3b24559 | 2002-12-25 05:14:29 +0000 | [diff] [blame] | 4 | |
Chris Lattner | 48664e7 | 2002-12-28 20:00:47 +0000 | [diff] [blame] | 5 | double %test(double* %DP, double %Arg) { |
Chris Lattner | 3b24559 | 2002-12-25 05:14:29 +0000 | [diff] [blame] | 6 | %D = load double* %DP |
| 7 | %V = add double %D, 1.0 |
| 8 | %W = sub double %V, %V |
| 9 | %X = mul double %W, %W |
| 10 | %Y = div double %X, %X |
| 11 | %Z = rem double %Y, %Y |
John Criswell | 1b4fb5a | 2003-11-26 14:45:37 +0000 | [diff] [blame] | 12 | %Z1 = div double %Z, %W |
Chris Lattner | 48664e7 | 2002-12-28 20:00:47 +0000 | [diff] [blame] | 13 | %Q = add double %Z, %Arg |
Chris Lattner | 6442a3e | 2003-01-13 00:56:54 +0000 | [diff] [blame] | 14 | %R = cast double %Q to double |
| 15 | store double %R, double* %DP |
Chris Lattner | 3b24559 | 2002-12-25 05:14:29 +0000 | [diff] [blame] | 16 | ret double %Z |
| 17 | } |
| 18 | |
| 19 | int %main() { |
| 20 | %X = alloca double |
Chris Lattner | 6442a3e | 2003-01-13 00:56:54 +0000 | [diff] [blame] | 21 | call double %test(double* %X, double 2.0) |
Chris Lattner | 3b24559 | 2002-12-25 05:14:29 +0000 | [diff] [blame] | 22 | ret int 0 |
| 23 | } |