@@ -15,21 +15,21 @@ entry:
15
15
; VF_8-LABEL: Checking a loop in 'i8_factor_2'
16
16
; VF_8: Found an estimated cost of 2 for VF 8 For instruction: %tmp2 = load i8, ptr %tmp0, align 1
17
17
; VF_8-NEXT: Found an estimated cost of 0 for VF 8 For instruction: %tmp3 = load i8, ptr %tmp1, align 1
18
- ; VF_8-NEXT: Found an estimated cost of 0 for VF 8 For instruction: store i8 0 , ptr %tmp0, align 1
19
- ; VF_8-NEXT: Found an estimated cost of 2 for VF 8 For instruction: store i8 0 , ptr %tmp1, align 1
18
+ ; VF_8-NEXT: Found an estimated cost of 0 for VF 8 For instruction: store i8 %tmp2 , ptr %tmp0, align 1
19
+ ; VF_8-NEXT: Found an estimated cost of 2 for VF 8 For instruction: store i8 %tmp3 , ptr %tmp1, align 1
20
20
; VF_16-LABEL: Checking a loop in 'i8_factor_2'
21
21
; VF_16: Found an estimated cost of 2 for VF 16 For instruction: %tmp2 = load i8, ptr %tmp0, align 1
22
22
; VF_16-NEXT: Found an estimated cost of 0 for VF 16 For instruction: %tmp3 = load i8, ptr %tmp1, align 1
23
- ; VF_16-NEXT: Found an estimated cost of 0 for VF 16 For instruction: store i8 0 , ptr %tmp0, align 1
24
- ; VF_16-NEXT: Found an estimated cost of 2 for VF 16 For instruction: store i8 0 , ptr %tmp1, align 1
23
+ ; VF_16-NEXT: Found an estimated cost of 0 for VF 16 For instruction: store i8 %tmp2 , ptr %tmp0, align 1
24
+ ; VF_16-NEXT: Found an estimated cost of 2 for VF 16 For instruction: store i8 %tmp3 , ptr %tmp1, align 1
25
25
for.body:
26
26
%i = phi i64 [ 0 , %entry ], [ %i.next , %for.body ]
27
27
%tmp0 = getelementptr inbounds %i8.2 , ptr %data , i64 %i , i32 0
28
28
%tmp1 = getelementptr inbounds %i8.2 , ptr %data , i64 %i , i32 1
29
29
%tmp2 = load i8 , ptr %tmp0 , align 1
30
30
%tmp3 = load i8 , ptr %tmp1 , align 1
31
- store i8 0 , ptr %tmp0 , align 1
32
- store i8 0 , ptr %tmp1 , align 1
31
+ store i8 %tmp2 , ptr %tmp0 , align 1
32
+ store i8 %tmp3 , ptr %tmp1 , align 1
33
33
%i.next = add nuw nsw i64 %i , 1
34
34
%cond = icmp slt i64 %i.next , %n
35
35
br i1 %cond , label %for.body , label %for.end
@@ -46,26 +46,26 @@ entry:
46
46
; VF_4-LABEL: Checking a loop in 'i16_factor_2'
47
47
; VF_4: Found an estimated cost of 2 for VF 4 For instruction: %tmp2 = load i16, ptr %tmp0, align 2
48
48
; VF_4-NEXT: Found an estimated cost of 0 for VF 4 For instruction: %tmp3 = load i16, ptr %tmp1, align 2
49
- ; VF_4-NEXT: Found an estimated cost of 0 for VF 4 For instruction: store i16 0 , ptr %tmp0, align 2
50
- ; VF_4-NEXT: Found an estimated cost of 2 for VF 4 For instruction: store i16 0 , ptr %tmp1, align 2
49
+ ; VF_4-NEXT: Found an estimated cost of 0 for VF 4 For instruction: store i16 %tmp2 , ptr %tmp0, align 2
50
+ ; VF_4-NEXT: Found an estimated cost of 2 for VF 4 For instruction: store i16 %tmp3 , ptr %tmp1, align 2
51
51
; VF_8-LABEL: Checking a loop in 'i16_factor_2'
52
52
; VF_8: Found an estimated cost of 2 for VF 8 For instruction: %tmp2 = load i16, ptr %tmp0, align 2
53
53
; VF_8-NEXT: Found an estimated cost of 0 for VF 8 For instruction: %tmp3 = load i16, ptr %tmp1, align 2
54
- ; VF_8-NEXT: Found an estimated cost of 0 for VF 8 For instruction: store i16 0 , ptr %tmp0, align 2
55
- ; VF_8-NEXT: Found an estimated cost of 2 for VF 8 For instruction: store i16 0 , ptr %tmp1, align 2
54
+ ; VF_8-NEXT: Found an estimated cost of 0 for VF 8 For instruction: store i16 %tmp2 , ptr %tmp0, align 2
55
+ ; VF_8-NEXT: Found an estimated cost of 2 for VF 8 For instruction: store i16 %tmp3 , ptr %tmp1, align 2
56
56
; VF_16-LABEL: Checking a loop in 'i16_factor_2'
57
57
; VF_16: Found an estimated cost of 4 for VF 16 For instruction: %tmp2 = load i16, ptr %tmp0, align 2
58
58
; VF_16-NEXT: Found an estimated cost of 0 for VF 16 For instruction: %tmp3 = load i16, ptr %tmp1, align 2
59
- ; VF_16-NEXT: Found an estimated cost of 0 for VF 16 For instruction: store i16 0 , ptr %tmp0, align 2
60
- ; VF_16-NEXT: Found an estimated cost of 4 for VF 16 For instruction: store i16 0 , ptr %tmp1, align 2
59
+ ; VF_16-NEXT: Found an estimated cost of 0 for VF 16 For instruction: store i16 %tmp2 , ptr %tmp0, align 2
60
+ ; VF_16-NEXT: Found an estimated cost of 4 for VF 16 For instruction: store i16 %tmp3 , ptr %tmp1, align 2
61
61
for.body:
62
62
%i = phi i64 [ 0 , %entry ], [ %i.next , %for.body ]
63
63
%tmp0 = getelementptr inbounds %i16.2 , ptr %data , i64 %i , i32 0
64
64
%tmp1 = getelementptr inbounds %i16.2 , ptr %data , i64 %i , i32 1
65
65
%tmp2 = load i16 , ptr %tmp0 , align 2
66
66
%tmp3 = load i16 , ptr %tmp1 , align 2
67
- store i16 0 , ptr %tmp0 , align 2
68
- store i16 0 , ptr %tmp1 , align 2
67
+ store i16 %tmp2 , ptr %tmp0 , align 2
68
+ store i16 %tmp3 , ptr %tmp1 , align 2
69
69
%i.next = add nuw nsw i64 %i , 1
70
70
%cond = icmp slt i64 %i.next , %n
71
71
br i1 %cond , label %for.body , label %for.end
@@ -82,31 +82,31 @@ entry:
82
82
; VF_2-LABEL: Checking a loop in 'i32_factor_2'
83
83
; VF_2: Found an estimated cost of 2 for VF 2 For instruction: %tmp2 = load i32, ptr %tmp0, align 4
84
84
; VF_2-NEXT: Found an estimated cost of 0 for VF 2 For instruction: %tmp3 = load i32, ptr %tmp1, align 4
85
- ; VF_2-NEXT: Found an estimated cost of 0 for VF 2 For instruction: store i32 0 , ptr %tmp0, align 4
86
- ; VF_2-NEXT: Found an estimated cost of 2 for VF 2 For instruction: store i32 0 , ptr %tmp1, align 4
85
+ ; VF_2-NEXT: Found an estimated cost of 0 for VF 2 For instruction: store i32 %tmp2 , ptr %tmp0, align 4
86
+ ; VF_2-NEXT: Found an estimated cost of 2 for VF 2 For instruction: store i32 %tmp3 , ptr %tmp1, align 4
87
87
; VF_4-LABEL: Checking a loop in 'i32_factor_2'
88
88
; VF_4: Found an estimated cost of 2 for VF 4 For instruction: %tmp2 = load i32, ptr %tmp0, align 4
89
89
; VF_4-NEXT: Found an estimated cost of 0 for VF 4 For instruction: %tmp3 = load i32, ptr %tmp1, align 4
90
- ; VF_4-NEXT: Found an estimated cost of 0 for VF 4 For instruction: store i32 0 , ptr %tmp0, align 4
91
- ; VF_4-NEXT: Found an estimated cost of 2 for VF 4 For instruction: store i32 0 , ptr %tmp1, align 4
90
+ ; VF_4-NEXT: Found an estimated cost of 0 for VF 4 For instruction: store i32 %tmp2 , ptr %tmp0, align 4
91
+ ; VF_4-NEXT: Found an estimated cost of 2 for VF 4 For instruction: store i32 %tmp3 , ptr %tmp1, align 4
92
92
; VF_8-LABEL: Checking a loop in 'i32_factor_2'
93
93
; VF_8: Found an estimated cost of 4 for VF 8 For instruction: %tmp2 = load i32, ptr %tmp0, align 4
94
94
; VF_8-NEXT: Found an estimated cost of 0 for VF 8 For instruction: %tmp3 = load i32, ptr %tmp1, align 4
95
- ; VF_8-NEXT: Found an estimated cost of 0 for VF 8 For instruction: store i32 0 , ptr %tmp0, align 4
96
- ; VF_8-NEXT: Found an estimated cost of 4 for VF 8 For instruction: store i32 0 , ptr %tmp1, align 4
95
+ ; VF_8-NEXT: Found an estimated cost of 0 for VF 8 For instruction: store i32 %tmp2 , ptr %tmp0, align 4
96
+ ; VF_8-NEXT: Found an estimated cost of 4 for VF 8 For instruction: store i32 %tmp3 , ptr %tmp1, align 4
97
97
; VF_16-LABEL: Checking a loop in 'i32_factor_2'
98
98
; VF_16: Found an estimated cost of 8 for VF 16 For instruction: %tmp2 = load i32, ptr %tmp0, align 4
99
99
; VF_16-NEXT: Found an estimated cost of 0 for VF 16 For instruction: %tmp3 = load i32, ptr %tmp1, align 4
100
- ; VF_16-NEXT: Found an estimated cost of 0 for VF 16 For instruction: store i32 0 , ptr %tmp0, align 4
101
- ; VF_16-NEXT: Found an estimated cost of 8 for VF 16 For instruction: store i32 0 , ptr %tmp1, align 4
100
+ ; VF_16-NEXT: Found an estimated cost of 0 for VF 16 For instruction: store i32 %tmp2 , ptr %tmp0, align 4
101
+ ; VF_16-NEXT: Found an estimated cost of 8 for VF 16 For instruction: store i32 %tmp3 , ptr %tmp1, align 4
102
102
for.body:
103
103
%i = phi i64 [ 0 , %entry ], [ %i.next , %for.body ]
104
104
%tmp0 = getelementptr inbounds %i32.2 , ptr %data , i64 %i , i32 0
105
105
%tmp1 = getelementptr inbounds %i32.2 , ptr %data , i64 %i , i32 1
106
106
%tmp2 = load i32 , ptr %tmp0 , align 4
107
107
%tmp3 = load i32 , ptr %tmp1 , align 4
108
- store i32 0 , ptr %tmp0 , align 4
109
- store i32 0 , ptr %tmp1 , align 4
108
+ store i32 %tmp2 , ptr %tmp0 , align 4
109
+ store i32 %tmp3 , ptr %tmp1 , align 4
110
110
%i.next = add nuw nsw i64 %i , 1
111
111
%cond = icmp slt i64 %i.next , %n
112
112
br i1 %cond , label %for.body , label %for.end
@@ -123,31 +123,31 @@ entry:
123
123
; VF_2-LABEL: Checking a loop in 'i64_factor_2'
124
124
; VF_2: Found an estimated cost of 2 for VF 2 For instruction: %tmp2 = load i64, ptr %tmp0, align 8
125
125
; VF_2-NEXT: Found an estimated cost of 0 for VF 2 For instruction: %tmp3 = load i64, ptr %tmp1, align 8
126
- ; VF_2-NEXT: Found an estimated cost of 0 for VF 2 For instruction: store i64 0 , ptr %tmp0, align 8
127
- ; VF_2-NEXT: Found an estimated cost of 2 for VF 2 For instruction: store i64 0 , ptr %tmp1, align 8
126
+ ; VF_2-NEXT: Found an estimated cost of 0 for VF 2 For instruction: store i64 %tmp2 , ptr %tmp0, align 8
127
+ ; VF_2-NEXT: Found an estimated cost of 2 for VF 2 For instruction: store i64 %tmp3 , ptr %tmp1, align 8
128
128
; VF_4-LABEL: Checking a loop in 'i64_factor_2'
129
129
; VF_4: Found an estimated cost of 4 for VF 4 For instruction: %tmp2 = load i64, ptr %tmp0, align 8
130
130
; VF_4-NEXT: Found an estimated cost of 0 for VF 4 For instruction: %tmp3 = load i64, ptr %tmp1, align 8
131
- ; VF_4-NEXT: Found an estimated cost of 0 for VF 4 For instruction: store i64 0 , ptr %tmp0, align 8
132
- ; VF_4-NEXT: Found an estimated cost of 4 for VF 4 For instruction: store i64 0 , ptr %tmp1, align 8
131
+ ; VF_4-NEXT: Found an estimated cost of 0 for VF 4 For instruction: store i64 %tmp2 , ptr %tmp0, align 8
132
+ ; VF_4-NEXT: Found an estimated cost of 4 for VF 4 For instruction: store i64 %tmp3 , ptr %tmp1, align 8
133
133
; VF_8-LABEL: Checking a loop in 'i64_factor_2'
134
134
; VF_8: Found an estimated cost of 8 for VF 8 For instruction: %tmp2 = load i64, ptr %tmp0, align 8
135
135
; VF_8-NEXT: Found an estimated cost of 0 for VF 8 For instruction: %tmp3 = load i64, ptr %tmp1, align 8
136
- ; VF_8-NEXT: Found an estimated cost of 0 for VF 8 For instruction: store i64 0 , ptr %tmp0, align 8
137
- ; VF_8-NEXT: Found an estimated cost of 8 for VF 8 For instruction: store i64 0 , ptr %tmp1, align 8
136
+ ; VF_8-NEXT: Found an estimated cost of 0 for VF 8 For instruction: store i64 %tmp2 , ptr %tmp0, align 8
137
+ ; VF_8-NEXT: Found an estimated cost of 8 for VF 8 For instruction: store i64 %tmp3 , ptr %tmp1, align 8
138
138
; VF_16-LABEL: Checking a loop in 'i64_factor_2'
139
139
; VF_16: Found an estimated cost of 16 for VF 16 For instruction: %tmp2 = load i64, ptr %tmp0, align 8
140
140
; VF_16-NEXT: Found an estimated cost of 0 for VF 16 For instruction: %tmp3 = load i64, ptr %tmp1, align 8
141
- ; VF_16-NEXT: Found an estimated cost of 0 for VF 16 For instruction: store i64 0 , ptr %tmp0, align 8
142
- ; VF_16-NEXT: Found an estimated cost of 16 for VF 16 For instruction: store i64 0 , ptr %tmp1, align 8
141
+ ; VF_16-NEXT: Found an estimated cost of 0 for VF 16 For instruction: store i64 %tmp2 , ptr %tmp0, align 8
142
+ ; VF_16-NEXT: Found an estimated cost of 16 for VF 16 For instruction: store i64 %tmp3 , ptr %tmp1, align 8
143
143
for.body:
144
144
%i = phi i64 [ 0 , %entry ], [ %i.next , %for.body ]
145
145
%tmp0 = getelementptr inbounds %i64.2 , ptr %data , i64 %i , i32 0
146
146
%tmp1 = getelementptr inbounds %i64.2 , ptr %data , i64 %i , i32 1
147
147
%tmp2 = load i64 , ptr %tmp0 , align 8
148
148
%tmp3 = load i64 , ptr %tmp1 , align 8
149
- store i64 0 , ptr %tmp0 , align 8
150
- store i64 0 , ptr %tmp1 , align 8
149
+ store i64 %tmp2 , ptr %tmp0 , align 8
150
+ store i64 %tmp3 , ptr %tmp1 , align 8
151
151
%i.next = add nuw nsw i64 %i , 1
152
152
%cond = icmp slt i64 %i.next , %n
153
153
br i1 %cond , label %for.body , label %for.end
@@ -170,16 +170,16 @@ entry:
170
170
; VF_2-LABEL: Checking a loop in 'i64_factor_8'
171
171
; VF_2: Found an estimated cost of 16 for VF 2 For instruction: %tmp2 = load i64, ptr %tmp0, align 8
172
172
; VF_2-NEXT: Found an estimated cost of 0 for VF 2 For instruction: %tmp3 = load i64, ptr %tmp1, align 8
173
- ; VF_2-NEXT: Found an estimated cost of 8 for VF 2 For instruction: store i64 0 , ptr %tmp0, align 8
174
- ; VF_2-NEXT: Found an estimated cost of 8 for VF 2 For instruction: store i64 0 , ptr %tmp1, align 8
173
+ ; VF_2-NEXT: Found an estimated cost of 12 for VF 2 For instruction: store i64 %tmp2 , ptr %tmp0, align 8
174
+ ; VF_2-NEXT: Found an estimated cost of 12 for VF 2 For instruction: store i64 %tmp3 , ptr %tmp1, align 8
175
175
for.body:
176
176
%i = phi i64 [ 0 , %entry ], [ %i.next , %for.body ]
177
177
%tmp0 = getelementptr inbounds %i64.8 , ptr %data , i64 %i , i32 2
178
178
%tmp1 = getelementptr inbounds %i64.8 , ptr %data , i64 %i , i32 6
179
179
%tmp2 = load i64 , ptr %tmp0 , align 8
180
180
%tmp3 = load i64 , ptr %tmp1 , align 8
181
- store i64 0 , ptr %tmp0 , align 8
182
- store i64 0 , ptr %tmp1 , align 8
181
+ store i64 %tmp2 , ptr %tmp0 , align 8
182
+ store i64 %tmp3 , ptr %tmp1 , align 8
183
183
%i.next = add nuw nsw i64 %i , 1
184
184
%cond = icmp slt i64 %i.next , %n
185
185
br i1 %cond , label %for.body , label %for.end
0 commit comments