@@ -17,55 +17,55 @@ define void @test_pr59090(ptr %l_out, ptr noalias %b) #0 {
1717; CHECK-NEXT: [[VEC_IV:%.*]] = add <8 x i64> [[BROADCAST_SPLAT]], <i64 0, i64 1, i64 2, i64 3, i64 4, i64 5, i64 6, i64 7>
1818; CHECK-NEXT: [[TMP1:%.*]] = icmp ule <8 x i64> [[VEC_IV]], splat (i64 10000)
1919; CHECK-NEXT: [[TMP2:%.*]] = mul nuw i64 [[INDEX]], 6
20- ; CHECK-NEXT: [[TMP3 :%.*]] = load i8, ptr [[B:%.*]], align 1, !llvm.access.group [[ACC_GRP0:![0-9]+]]
20+ ; CHECK-NEXT: [[TMP10 :%.*]] = load i8, ptr [[B:%.*]], align 1, !llvm.access.group [[ACC_GRP0:![0-9]+]]
2121; CHECK-NEXT: [[TMP4:%.*]] = extractelement <8 x i1> [[TMP1]], i32 0
2222; CHECK-NEXT: br i1 [[TMP4]], label [[PRED_STORE_IF:%.*]], label [[PRED_STORE_CONTINUE:%.*]]
2323; CHECK: pred.store.if:
24- ; CHECK-NEXT: store i8 [[TMP3 ]], ptr [[B]], align 1, !llvm.access.group [[ACC_GRP0]]
24+ ; CHECK-NEXT: store i8 [[TMP10 ]], ptr [[B]], align 1, !llvm.access.group [[ACC_GRP0]]
2525; CHECK-NEXT: br label [[PRED_STORE_CONTINUE]]
2626; CHECK: pred.store.continue:
27- ; CHECK-NEXT: [[TMP5 :%.*]] = extractelement <8 x i1> [[TMP1]], i32 1
28- ; CHECK-NEXT: br i1 [[TMP5 ]], label [[PRED_STORE_IF1 :%.*]], label [[PRED_STORE_CONTINUE2 :%.*]]
29- ; CHECK: pred.store.if1 :
30- ; CHECK-NEXT: store i8 [[TMP3 ]], ptr [[B]], align 1, !llvm.access.group [[ACC_GRP0]]
31- ; CHECK-NEXT: br label [[PRED_STORE_CONTINUE2 ]]
32- ; CHECK: pred.store.continue2 :
33- ; CHECK-NEXT: [[TMP6 :%.*]] = extractelement <8 x i1> [[TMP1]], i32 2
34- ; CHECK-NEXT: br i1 [[TMP6 ]], label [[PRED_STORE_IF3 :%.*]], label [[PRED_STORE_CONTINUE4 :%.*]]
35- ; CHECK: pred.store.if3 :
36- ; CHECK-NEXT: store i8 [[TMP3 ]], ptr [[B]], align 1, !llvm.access.group [[ACC_GRP0]]
37- ; CHECK-NEXT: br label [[PRED_STORE_CONTINUE4 ]]
38- ; CHECK: pred.store.continue4 :
39- ; CHECK-NEXT: [[TMP7 :%.*]] = extractelement <8 x i1> [[TMP1]], i32 3
40- ; CHECK-NEXT: br i1 [[TMP7 ]], label [[PRED_STORE_IF5 :%.*]], label [[PRED_STORE_CONTINUE6 :%.*]]
41- ; CHECK: pred.store.if5 :
42- ; CHECK-NEXT: store i8 [[TMP3 ]], ptr [[B]], align 1, !llvm.access.group [[ACC_GRP0]]
43- ; CHECK-NEXT: br label [[PRED_STORE_CONTINUE6 ]]
44- ; CHECK: pred.store.continue6 :
45- ; CHECK-NEXT: [[TMP8 :%.*]] = extractelement <8 x i1> [[TMP1]], i32 4
46- ; CHECK-NEXT: br i1 [[TMP8 ]], label [[PRED_STORE_IF7 :%.*]], label [[PRED_STORE_CONTINUE8 :%.*]]
47- ; CHECK: pred.store.if7 :
48- ; CHECK-NEXT: store i8 [[TMP3 ]], ptr [[B]], align 1, !llvm.access.group [[ACC_GRP0]]
49- ; CHECK-NEXT: br label [[PRED_STORE_CONTINUE8 ]]
50- ; CHECK: pred.store.continue8 :
51- ; CHECK-NEXT: [[TMP9 :%.*]] = extractelement <8 x i1> [[TMP1]], i32 5
52- ; CHECK-NEXT: br i1 [[TMP9 ]], label [[PRED_STORE_IF9 :%.*]], label [[PRED_STORE_CONTINUE10 :%.*]]
53- ; CHECK: pred.store.if9 :
54- ; CHECK-NEXT: store i8 [[TMP3 ]], ptr [[B]], align 1, !llvm.access.group [[ACC_GRP0]]
55- ; CHECK-NEXT: br label [[PRED_STORE_CONTINUE10 ]]
56- ; CHECK: pred.store.continue10 :
57- ; CHECK-NEXT: [[TMP10 :%.*]] = extractelement <8 x i1> [[TMP1]], i32 6
58- ; CHECK-NEXT: br i1 [[TMP10 ]], label [[PRED_STORE_IF11 :%.*]], label [[PRED_STORE_CONTINUE12 :%.*]]
59- ; CHECK: pred.store.if11 :
60- ; CHECK-NEXT: store i8 [[TMP3 ]], ptr [[B]], align 1, !llvm.access.group [[ACC_GRP0]]
61- ; CHECK-NEXT: br label [[PRED_STORE_CONTINUE12 ]]
62- ; CHECK: pred.store.continue12 :
63- ; CHECK-NEXT: [[TMP11 :%.*]] = extractelement <8 x i1> [[TMP1]], i32 7
64- ; CHECK-NEXT: br i1 [[TMP11 ]], label [[PRED_STORE_IF13 :%.*]], label [[PRED_STORE_CONTINUE14]]
65- ; CHECK: pred.store.if13 :
66- ; CHECK-NEXT: store i8 [[TMP3 ]], ptr [[B]], align 1, !llvm.access.group [[ACC_GRP0]]
27+ ; CHECK-NEXT: [[TMP3 :%.*]] = extractelement <8 x i1> [[TMP1]], i32 1
28+ ; CHECK-NEXT: br i1 [[TMP3 ]], label [[PRED_STORE_IF2 :%.*]], label [[PRED_STORE_CONTINUE3 :%.*]]
29+ ; CHECK: pred.store.if2 :
30+ ; CHECK-NEXT: store i8 [[TMP10 ]], ptr [[B]], align 1, !llvm.access.group [[ACC_GRP0]]
31+ ; CHECK-NEXT: br label [[PRED_STORE_CONTINUE3 ]]
32+ ; CHECK: pred.store.continue3 :
33+ ; CHECK-NEXT: [[TMP11 :%.*]] = extractelement <8 x i1> [[TMP1]], i32 2
34+ ; CHECK-NEXT: br i1 [[TMP11 ]], label [[PRED_STORE_IF4 :%.*]], label [[PRED_STORE_CONTINUE5 :%.*]]
35+ ; CHECK: pred.store.if4 :
36+ ; CHECK-NEXT: store i8 [[TMP10 ]], ptr [[B]], align 1, !llvm.access.group [[ACC_GRP0]]
37+ ; CHECK-NEXT: br label [[PRED_STORE_CONTINUE5 ]]
38+ ; CHECK: pred.store.continue5 :
39+ ; CHECK-NEXT: [[TMP5 :%.*]] = extractelement <8 x i1> [[TMP1]], i32 3
40+ ; CHECK-NEXT: br i1 [[TMP5 ]], label [[PRED_STORE_IF6 :%.*]], label [[PRED_STORE_CONTINUE7 :%.*]]
41+ ; CHECK: pred.store.if6 :
42+ ; CHECK-NEXT: store i8 [[TMP10 ]], ptr [[B]], align 1, !llvm.access.group [[ACC_GRP0]]
43+ ; CHECK-NEXT: br label [[PRED_STORE_CONTINUE7 ]]
44+ ; CHECK: pred.store.continue7 :
45+ ; CHECK-NEXT: [[TMP6 :%.*]] = extractelement <8 x i1> [[TMP1]], i32 4
46+ ; CHECK-NEXT: br i1 [[TMP6 ]], label [[PRED_STORE_IF8 :%.*]], label [[PRED_STORE_CONTINUE9 :%.*]]
47+ ; CHECK: pred.store.if8 :
48+ ; CHECK-NEXT: store i8 [[TMP10 ]], ptr [[B]], align 1, !llvm.access.group [[ACC_GRP0]]
49+ ; CHECK-NEXT: br label [[PRED_STORE_CONTINUE9 ]]
50+ ; CHECK: pred.store.continue9 :
51+ ; CHECK-NEXT: [[TMP7 :%.*]] = extractelement <8 x i1> [[TMP1]], i32 5
52+ ; CHECK-NEXT: br i1 [[TMP7 ]], label [[PRED_STORE_IF10 :%.*]], label [[PRED_STORE_CONTINUE11 :%.*]]
53+ ; CHECK: pred.store.if10 :
54+ ; CHECK-NEXT: store i8 [[TMP10 ]], ptr [[B]], align 1, !llvm.access.group [[ACC_GRP0]]
55+ ; CHECK-NEXT: br label [[PRED_STORE_CONTINUE11 ]]
56+ ; CHECK: pred.store.continue11 :
57+ ; CHECK-NEXT: [[TMP8 :%.*]] = extractelement <8 x i1> [[TMP1]], i32 6
58+ ; CHECK-NEXT: br i1 [[TMP8 ]], label [[PRED_STORE_IF12 :%.*]], label [[PRED_STORE_CONTINUE13 :%.*]]
59+ ; CHECK: pred.store.if12 :
60+ ; CHECK-NEXT: store i8 [[TMP10 ]], ptr [[B]], align 1, !llvm.access.group [[ACC_GRP0]]
61+ ; CHECK-NEXT: br label [[PRED_STORE_CONTINUE13 ]]
62+ ; CHECK: pred.store.continue13 :
63+ ; CHECK-NEXT: [[TMP9 :%.*]] = extractelement <8 x i1> [[TMP1]], i32 7
64+ ; CHECK-NEXT: br i1 [[TMP9 ]], label [[PRED_STORE_IF14 :%.*]], label [[PRED_STORE_CONTINUE14]]
65+ ; CHECK: pred.store.if14 :
66+ ; CHECK-NEXT: store i8 [[TMP10 ]], ptr [[B]], align 1, !llvm.access.group [[ACC_GRP0]]
6767; CHECK-NEXT: br label [[PRED_STORE_CONTINUE14]]
68- ; CHECK: pred.store.continue14 :
68+ ; CHECK: pred.store.continue15 :
6969; CHECK-NEXT: [[TMP13:%.*]] = getelementptr i8, ptr [[L_OUT:%.*]], i64 [[TMP2]]
7070; CHECK-NEXT: [[INTERLEAVED_MASK:%.*]] = shufflevector <8 x i1> [[TMP1]], <8 x i1> poison, <48 x i32> <i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 4, i32 4, i32 4, i32 4, i32 4, i32 4, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 6, i32 6, i32 6, i32 6, i32 6, i32 6, i32 7, i32 7, i32 7, i32 7, i32 7, i32 7>
7171; CHECK-NEXT: [[TMP15:%.*]] = and <48 x i1> [[INTERLEAVED_MASK]], <i1 true, i1 false, i1 true, i1 false, i1 false, i1 false, i1 true, i1 false, i1 true, i1 false, i1 false, i1 false, i1 true, i1 false, i1 true, i1 false, i1 false, i1 false, i1 true, i1 false, i1 true, i1 false, i1 false, i1 false, i1 true, i1 false, i1 true, i1 false, i1 false, i1 false, i1 true, i1 false, i1 true, i1 false, i1 false, i1 false, i1 true, i1 false, i1 true, i1 false, i1 false, i1 false, i1 true, i1 false, i1 true, i1 false, i1 false, i1 false>
0 commit comments