Dan Gohman | 4bfcf2a | 2009-03-05 19:32:48 +0000 | [diff] [blame] | 1 | ; RUN: llvm-as < %s | llc -march=x86 > %t |
| 2 | ; RUN: grep dec %t | count 1 |
| 3 | ; RUN: not grep test %t |
| 4 | ; RUN: not grep cmp %t |
| 5 | |
| 6 | define void @foo(i32 %n, double* nocapture %p) nounwind { |
| 7 | br label %bb |
| 8 | |
| 9 | bb: |
| 10 | %indvar = phi i32 [ 0, %0 ], [ %indvar.next, %bb ] |
| 11 | %i.03 = sub i32 %n, %indvar |
| 12 | %1 = getelementptr double* %p, i32 %i.03 |
| 13 | %2 = load double* %1, align 4 |
Dan Gohman | ae3a0be | 2009-06-04 22:49:04 +0000 | [diff] [blame^] | 14 | %3 = fmul double %2, 2.930000e+00 |
Dan Gohman | 4bfcf2a | 2009-03-05 19:32:48 +0000 | [diff] [blame] | 15 | store double %3, double* %1, align 4 |
| 16 | %4 = add i32 %i.03, -1 |
| 17 | %phitmp = icmp slt i32 %4, 0 |
| 18 | %indvar.next = add i32 %indvar, 1 |
| 19 | br i1 %phitmp, label %bb, label %return |
| 20 | |
| 21 | return: |
| 22 | ret void |
| 23 | } |