Chris Lattner | 3b24559 | 2002-12-25 05:14:29 +0000 | [diff] [blame] | 1 | |
Chris Lattner | 48664e7 | 2002-12-28 20:00:47 +0000 | [diff] [blame] | 2 | double %test(double* %DP, double %Arg) { |
Chris Lattner | 3b24559 | 2002-12-25 05:14:29 +0000 | [diff] [blame] | 3 | %D = load double* %DP |
| 4 | %V = add double %D, 1.0 |
| 5 | %W = sub double %V, %V |
| 6 | %X = mul double %W, %W |
| 7 | %Y = div double %X, %X |
| 8 | %Z = rem double %Y, %Y |
Chris Lattner | 6442a3e | 2003-01-13 00:56:54 +0000 | [diff] [blame^] | 9 | %Z = div double %Z, %W |
Chris Lattner | 48664e7 | 2002-12-28 20:00:47 +0000 | [diff] [blame] | 10 | %Q = add double %Z, %Arg |
Chris Lattner | 6442a3e | 2003-01-13 00:56:54 +0000 | [diff] [blame^] | 11 | %R = cast double %Q to double |
| 12 | store double %R, double* %DP |
Chris Lattner | 3b24559 | 2002-12-25 05:14:29 +0000 | [diff] [blame] | 13 | ret double %Z |
| 14 | } |
| 15 | |
| 16 | int %main() { |
| 17 | %X = alloca double |
Chris Lattner | 6442a3e | 2003-01-13 00:56:54 +0000 | [diff] [blame^] | 18 | call double %test(double* %X, double 2.0) |
Chris Lattner | 3b24559 | 2002-12-25 05:14:29 +0000 | [diff] [blame] | 19 | ret int 0 |
| 20 | } |