@@ -17,55 +17,55 @@ define void @test_pr59090(ptr %l_out, ptr noalias %b) #0 {
17
17
; 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>
18
18
; CHECK-NEXT: [[TMP1:%.*]] = icmp ule <8 x i64> [[VEC_IV]], splat (i64 10000)
19
19
; 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]+]]
21
21
; CHECK-NEXT: [[TMP4:%.*]] = extractelement <8 x i1> [[TMP1]], i32 0
22
22
; CHECK-NEXT: br i1 [[TMP4]], label [[PRED_STORE_IF:%.*]], label [[PRED_STORE_CONTINUE:%.*]]
23
23
; 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]]
25
25
; CHECK-NEXT: br label [[PRED_STORE_CONTINUE]]
26
26
; 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]]
67
67
; CHECK-NEXT: br label [[PRED_STORE_CONTINUE14]]
68
- ; CHECK: pred.store.continue14 :
68
+ ; CHECK: pred.store.continue15 :
69
69
; CHECK-NEXT: [[TMP13:%.*]] = getelementptr i8, ptr [[L_OUT:%.*]], i64 [[TMP2]]
70
70
; 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>
71
71
; 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