Slightly generalize the code that handles shuffles of consecutive loads
[oota-llvm.git] / test / CodeGen / X86 / subreg-to-reg-5.ll
index eee751a87d5390f679a367590e23cbf6fc80fb0b..81b262ace84d11f95504021cf71a743e0bd9335d 100644 (file)
@@ -8,7 +8,8 @@ entry:
 
 bb2:           ; preds = %bb3, %entry
        %B_addr.0.rec = phi i64 [ %indvar.next154, %bb3 ], [ 0, %entry ]                ; <i64> [#uses=2]
-       br i1 false, label %bb3, label %bb4
+        %z = icmp slt i64 %B_addr.0.rec, 20000
+       br i1 %z, label %bb3, label %bb4
 
 bb3:           ; preds = %bb2
        %indvar.next154 = add i64 %B_addr.0.rec, 1              ; <i64> [#uses=1]
@@ -17,7 +18,7 @@ bb3:          ; preds = %bb2
 bb4:           ; preds = %bb2
        %B_addr.0 = getelementptr float* %B, i64 %B_addr.0.rec          ; <float*> [#uses=1]
        %t1 = ptrtoint float* %B_addr.0 to i64          ; <i64> [#uses=1]
-       %t2 = and i64 %t1, 15           ; <i64> [#uses=1]
+       %t2 = and i64 %t1, 4294967295           ; <i64> [#uses=1]
        %t3 = icmp eq i64 %t2, 0                ; <i1> [#uses=1]
        br i1 %t3, label %bb5, label %bb10.preheader
 
@@ -25,7 +26,7 @@ bb10.preheader:               ; preds = %bb4
        br label %bb9
 
 bb5:           ; preds = %bb4
-       unreachable
+       ret float 7.0
 
 bb9:           ; preds = %bb10.preheader
        %t5 = getelementptr float* %B, i64 0            ; <float*> [#uses=1]