Dan Gohman | 0a06310 | 2009-09-08 23:54:48 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -march=x86 -mattr=+sse2 -pre-alloc-split -stats |& \ |
Evan Cheng | 9cd7ff0 | 2008-10-24 02:05:00 +0000 | [diff] [blame] | 2 | ; RUN: grep {pre-alloc-split} | grep {Number of intervals split} | grep 1 |
Owen Anderson | 3d25185 | 2009-01-29 22:27:56 +0000 | [diff] [blame] | 3 | ; XFAIL: * |
Evan Cheng | 9cd7ff0 | 2008-10-24 02:05:00 +0000 | [diff] [blame] | 4 | |
| 5 | define void @test(double* %P, i32 %cond) nounwind { |
| 6 | entry: |
| 7 | %0 = load double* %P, align 8 ; <double> [#uses=1] |
Dan Gohman | 7ce405e | 2009-06-04 22:49:04 +0000 | [diff] [blame] | 8 | %1 = fadd double %0, 4.000000e+00 ; <double> [#uses=2] |
Evan Cheng | 9cd7ff0 | 2008-10-24 02:05:00 +0000 | [diff] [blame] | 9 | %2 = icmp eq i32 %cond, 0 ; <i1> [#uses=1] |
| 10 | br i1 %2, label %bb1, label %bb |
| 11 | |
| 12 | bb: ; preds = %entry |
Dan Gohman | 7ce405e | 2009-06-04 22:49:04 +0000 | [diff] [blame] | 13 | %3 = fadd double %1, 4.000000e+00 ; <double> [#uses=1] |
Evan Cheng | 9cd7ff0 | 2008-10-24 02:05:00 +0000 | [diff] [blame] | 14 | br label %bb1 |
| 15 | |
| 16 | bb1: ; preds = %bb, %entry |
| 17 | %A.0 = phi double [ %3, %bb ], [ %1, %entry ] ; <double> [#uses=1] |
Dan Gohman | 7ce405e | 2009-06-04 22:49:04 +0000 | [diff] [blame] | 18 | %4 = fmul double %A.0, 4.000000e+00 ; <double> [#uses=1] |
Evan Cheng | 9cd7ff0 | 2008-10-24 02:05:00 +0000 | [diff] [blame] | 19 | %5 = tail call i32 (...)* @bar() nounwind ; <i32> [#uses=0] |
| 20 | store double %4, double* %P, align 8 |
| 21 | ret void |
| 22 | } |
| 23 | |
| 24 | declare i32 @bar(...) |