@@ -7,86 +7,87 @@ define void @test(ptr %p, i40 %a) {
7
7
; CHECK-NEXT: entry:
8
8
; CHECK-NEXT: br i1 false, label [[SCALAR_PH:%.*]], label [[VECTOR_PH:%.*]]
9
9
; CHECK: vector.ph:
10
+ ; CHECK-NEXT: [[TMP0:%.*]] = icmp sgt i1 true, false
10
11
; CHECK-NEXT: br label [[VECTOR_BODY:%.*]]
11
12
; CHECK: vector.body:
12
13
; CHECK-NEXT: br i1 true, label [[PRED_STORE_IF:%.*]], label [[PRED_STORE_CONTINUE:%.*]]
13
14
; CHECK: pred.store.if:
14
- ; CHECK-NEXT: store i1 false , ptr [[P]], align 1
15
+ ; CHECK-NEXT: store i1 [[TMP0]] , ptr [[P]], align 1
15
16
; CHECK-NEXT: br label [[PRED_STORE_CONTINUE]]
16
17
; CHECK: pred.store.continue:
17
18
; CHECK-NEXT: br i1 true, label [[PRED_STORE_IF1:%.*]], label [[PRED_STORE_CONTINUE2:%.*]]
18
19
; CHECK: pred.store.if1:
19
- ; CHECK-NEXT: store i1 false , ptr [[P]], align 1
20
+ ; CHECK-NEXT: store i1 [[TMP0]] , ptr [[P]], align 1
20
21
; CHECK-NEXT: br label [[PRED_STORE_CONTINUE2]]
21
22
; CHECK: pred.store.continue2:
22
23
; CHECK-NEXT: br i1 true, label [[PRED_STORE_IF3:%.*]], label [[PRED_STORE_CONTINUE4:%.*]]
23
24
; CHECK: pred.store.if3:
24
- ; CHECK-NEXT: store i1 false , ptr [[P]], align 1
25
+ ; CHECK-NEXT: store i1 [[TMP0]] , ptr [[P]], align 1
25
26
; CHECK-NEXT: br label [[PRED_STORE_CONTINUE4]]
26
27
; CHECK: pred.store.continue4:
27
28
; CHECK-NEXT: br i1 true, label [[PRED_STORE_IF5:%.*]], label [[PRED_STORE_CONTINUE6:%.*]]
28
29
; CHECK: pred.store.if5:
29
- ; CHECK-NEXT: store i1 false , ptr [[P]], align 1
30
+ ; CHECK-NEXT: store i1 [[TMP0]] , ptr [[P]], align 1
30
31
; CHECK-NEXT: br label [[PRED_STORE_CONTINUE6]]
31
32
; CHECK: pred.store.continue6:
32
33
; CHECK-NEXT: br i1 true, label [[PRED_STORE_IF7:%.*]], label [[PRED_STORE_CONTINUE8:%.*]]
33
34
; CHECK: pred.store.if7:
34
- ; CHECK-NEXT: store i1 false , ptr [[P]], align 1
35
+ ; CHECK-NEXT: store i1 [[TMP0]] , ptr [[P]], align 1
35
36
; CHECK-NEXT: br label [[PRED_STORE_CONTINUE8]]
36
37
; CHECK: pred.store.continue8:
37
38
; CHECK-NEXT: br i1 true, label [[PRED_STORE_IF9:%.*]], label [[PRED_STORE_CONTINUE10:%.*]]
38
39
; CHECK: pred.store.if9:
39
- ; CHECK-NEXT: store i1 false , ptr [[P]], align 1
40
+ ; CHECK-NEXT: store i1 [[TMP0]] , ptr [[P]], align 1
40
41
; CHECK-NEXT: br label [[PRED_STORE_CONTINUE10]]
41
42
; CHECK: pred.store.continue10:
42
43
; CHECK-NEXT: br i1 true, label [[PRED_STORE_IF11:%.*]], label [[PRED_STORE_CONTINUE12:%.*]]
43
44
; CHECK: pred.store.if11:
44
- ; CHECK-NEXT: store i1 false , ptr [[P]], align 1
45
+ ; CHECK-NEXT: store i1 [[TMP0]] , ptr [[P]], align 1
45
46
; CHECK-NEXT: br label [[PRED_STORE_CONTINUE12]]
46
47
; CHECK: pred.store.continue12:
47
48
; CHECK-NEXT: br i1 true, label [[PRED_STORE_IF13:%.*]], label [[PRED_STORE_CONTINUE14:%.*]]
48
49
; CHECK: pred.store.if13:
49
- ; CHECK-NEXT: store i1 false , ptr [[P]], align 1
50
+ ; CHECK-NEXT: store i1 [[TMP0]] , ptr [[P]], align 1
50
51
; CHECK-NEXT: br label [[PRED_STORE_CONTINUE14]]
51
52
; CHECK: pred.store.continue14:
52
53
; CHECK-NEXT: br i1 true, label [[PRED_STORE_IF15:%.*]], label [[PRED_STORE_CONTINUE16:%.*]]
53
54
; CHECK: pred.store.if15:
54
- ; CHECK-NEXT: store i1 false , ptr [[P]], align 1
55
+ ; CHECK-NEXT: store i1 [[TMP0]] , ptr [[P]], align 1
55
56
; CHECK-NEXT: br label [[PRED_STORE_CONTINUE16]]
56
57
; CHECK: pred.store.continue16:
57
58
; CHECK-NEXT: br i1 true, label [[PRED_STORE_IF17:%.*]], label [[PRED_STORE_CONTINUE18:%.*]]
58
59
; CHECK: pred.store.if17:
59
- ; CHECK-NEXT: store i1 false , ptr [[P]], align 1
60
+ ; CHECK-NEXT: store i1 [[TMP0]] , ptr [[P]], align 1
60
61
; CHECK-NEXT: br label [[PRED_STORE_CONTINUE18]]
61
62
; CHECK: pred.store.continue18:
62
63
; CHECK-NEXT: br i1 false, label [[PRED_STORE_IF19:%.*]], label [[PRED_STORE_CONTINUE20:%.*]]
63
64
; CHECK: pred.store.if19:
64
- ; CHECK-NEXT: store i1 false , ptr [[P]], align 1
65
+ ; CHECK-NEXT: store i1 [[TMP0]] , ptr [[P]], align 1
65
66
; CHECK-NEXT: br label [[PRED_STORE_CONTINUE20]]
66
67
; CHECK: pred.store.continue20:
67
68
; CHECK-NEXT: br i1 false, label [[PRED_STORE_IF21:%.*]], label [[PRED_STORE_CONTINUE22:%.*]]
68
69
; CHECK: pred.store.if21:
69
- ; CHECK-NEXT: store i1 false , ptr [[P]], align 1
70
+ ; CHECK-NEXT: store i1 [[TMP0]] , ptr [[P]], align 1
70
71
; CHECK-NEXT: br label [[PRED_STORE_CONTINUE22]]
71
72
; CHECK: pred.store.continue22:
72
73
; CHECK-NEXT: br i1 false, label [[PRED_STORE_IF23:%.*]], label [[PRED_STORE_CONTINUE24:%.*]]
73
74
; CHECK: pred.store.if23:
74
- ; CHECK-NEXT: store i1 false , ptr [[P]], align 1
75
+ ; CHECK-NEXT: store i1 [[TMP0]] , ptr [[P]], align 1
75
76
; CHECK-NEXT: br label [[PRED_STORE_CONTINUE24]]
76
77
; CHECK: pred.store.continue24:
77
78
; CHECK-NEXT: br i1 false, label [[PRED_STORE_IF25:%.*]], label [[PRED_STORE_CONTINUE26:%.*]]
78
79
; CHECK: pred.store.if25:
79
- ; CHECK-NEXT: store i1 false , ptr [[P]], align 1
80
+ ; CHECK-NEXT: store i1 [[TMP0]] , ptr [[P]], align 1
80
81
; CHECK-NEXT: br label [[PRED_STORE_CONTINUE26]]
81
82
; CHECK: pred.store.continue26:
82
83
; CHECK-NEXT: br i1 false, label [[PRED_STORE_IF27:%.*]], label [[PRED_STORE_CONTINUE28:%.*]]
83
84
; CHECK: pred.store.if27:
84
- ; CHECK-NEXT: store i1 false , ptr [[P]], align 1
85
+ ; CHECK-NEXT: store i1 [[TMP0]] , ptr [[P]], align 1
85
86
; CHECK-NEXT: br label [[PRED_STORE_CONTINUE28]]
86
87
; CHECK: pred.store.continue28:
87
88
; CHECK-NEXT: br i1 false, label [[PRED_STORE_IF29:%.*]], label [[PRED_STORE_CONTINUE30:%.*]]
88
89
; CHECK: pred.store.if29:
89
- ; CHECK-NEXT: store i1 false , ptr [[P]], align 1
90
+ ; CHECK-NEXT: store i1 [[TMP0]] , ptr [[P]], align 1
90
91
; CHECK-NEXT: br label [[PRED_STORE_CONTINUE30]]
91
92
; CHECK: pred.store.continue30:
92
93
; CHECK-NEXT: br label [[MIDDLE_BLOCK:%.*]]
0 commit comments