1 ; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
2 ; RUN: opt -cost-model -analyze -mtriple=thumbv8.1-m.main-none-eabi -mattr=+mve < %s | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-MVE2
6 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c = add i8 undef, undef
7 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d = sub i8 undef, undef
8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e = mul i8 undef, undef
9 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %f = ashr i8 undef, undef
10 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %g = lshr i8 undef, undef
11 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %h = shl i8 undef, undef
12 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i = and i8 undef, undef
13 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j = or i8 undef, undef
14 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k = xor i8 undef, undef
15 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
17 %c = add i8 undef, undef
18 %d = sub i8 undef, undef
19 %e = mul i8 undef, undef
20 %f = ashr i8 undef, undef
21 %g = lshr i8 undef, undef
22 %h = shl i8 undef, undef
23 %i = and i8 undef, undef
24 %j = or i8 undef, undef
25 %k = xor i8 undef, undef
31 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c = add i16 undef, undef
32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d = sub i16 undef, undef
33 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e = mul i16 undef, undef
34 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %f = ashr i16 undef, undef
35 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %g = lshr i16 undef, undef
36 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %h = shl i16 undef, undef
37 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i = and i16 undef, undef
38 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j = or i16 undef, undef
39 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k = xor i16 undef, undef
40 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
42 %c = add i16 undef, undef
43 %d = sub i16 undef, undef
44 %e = mul i16 undef, undef
45 %f = ashr i16 undef, undef
46 %g = lshr i16 undef, undef
47 %h = shl i16 undef, undef
48 %i = and i16 undef, undef
49 %j = or i16 undef, undef
50 %k = xor i16 undef, undef
56 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c = add i32 undef, undef
57 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d = sub i32 undef, undef
58 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e = mul i32 undef, undef
59 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %f = ashr i32 undef, undef
60 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %g = lshr i32 undef, undef
61 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %h = shl i32 undef, undef
62 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i = and i32 undef, undef
63 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j = or i32 undef, undef
64 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k = xor i32 undef, undef
65 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
67 %c = add i32 undef, undef
68 %d = sub i32 undef, undef
69 %e = mul i32 undef, undef
70 %f = ashr i32 undef, undef
71 %g = lshr i32 undef, undef
72 %h = shl i32 undef, undef
73 %i = and i32 undef, undef
74 %j = or i32 undef, undef
75 %k = xor i32 undef, undef
81 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %c = add i64 undef, undef
82 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %d = sub i64 undef, undef
83 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %e = mul i64 undef, undef
84 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %f = ashr i64 undef, undef
85 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %g = lshr i64 undef, undef
86 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %h = shl i64 undef, undef
87 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %i = and i64 undef, undef
88 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %j = or i64 undef, undef
89 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %k = xor i64 undef, undef
90 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
92 %c = add i64 undef, undef
93 %d = sub i64 undef, undef
94 %e = mul i64 undef, undef
95 %f = ashr i64 undef, undef
96 %g = lshr i64 undef, undef
97 %h = shl i64 undef, undef
98 %i = and i64 undef, undef
99 %j = or i64 undef, undef
100 %k = xor i64 undef, undef
107 ; CHECK-NEXT: Cost Model: Found an estimated cost of 14 for instruction: %c2 = add <2 x i8> undef, undef
108 ; CHECK-NEXT: Cost Model: Found an estimated cost of 14 for instruction: %d2 = sub <2 x i8> undef, undef
109 ; CHECK-NEXT: Cost Model: Found an estimated cost of 14 for instruction: %e2 = mul <2 x i8> undef, undef
110 ; CHECK-NEXT: Cost Model: Found an estimated cost of 14 for instruction: %f2 = ashr <2 x i8> undef, undef
111 ; CHECK-NEXT: Cost Model: Found an estimated cost of 14 for instruction: %g2 = lshr <2 x i8> undef, undef
112 ; CHECK-NEXT: Cost Model: Found an estimated cost of 14 for instruction: %h2 = shl <2 x i8> undef, undef
113 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i2 = and <2 x i8> undef, undef
114 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j2 = or <2 x i8> undef, undef
115 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k2 = xor <2 x i8> undef, undef
116 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c4 = add <4 x i8> undef, undef
117 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d4 = sub <4 x i8> undef, undef
118 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e4 = mul <4 x i8> undef, undef
119 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %f4 = ashr <4 x i8> undef, undef
120 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %g4 = lshr <4 x i8> undef, undef
121 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %h4 = shl <4 x i8> undef, undef
122 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i4 = and <4 x i8> undef, undef
123 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j4 = or <4 x i8> undef, undef
124 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k4 = xor <4 x i8> undef, undef
125 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c8 = add <8 x i8> undef, undef
126 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d8 = sub <8 x i8> undef, undef
127 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e8 = mul <8 x i8> undef, undef
128 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %f8 = ashr <8 x i8> undef, undef
129 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %g8 = lshr <8 x i8> undef, undef
130 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %h8 = shl <8 x i8> undef, undef
131 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i8 = and <8 x i8> undef, undef
132 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j8 = or <8 x i8> undef, undef
133 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k8 = xor <8 x i8> undef, undef
134 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c16 = add <16 x i8> undef, undef
135 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d16 = sub <16 x i8> undef, undef
136 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e16 = mul <16 x i8> undef, undef
137 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %f16 = ashr <16 x i8> undef, undef
138 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %g16 = lshr <16 x i8> undef, undef
139 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %h16 = shl <16 x i8> undef, undef
140 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i16 = and <16 x i8> undef, undef
141 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j16 = or <16 x i8> undef, undef
142 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k16 = xor <16 x i8> undef, undef
143 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
145 %c2 = add <2 x i8> undef, undef
146 %d2 = sub <2 x i8> undef, undef
147 %e2 = mul <2 x i8> undef, undef
148 %f2 = ashr <2 x i8> undef, undef
149 %g2 = lshr <2 x i8> undef, undef
150 %h2 = shl <2 x i8> undef, undef
151 %i2 = and <2 x i8> undef, undef
152 %j2 = or <2 x i8> undef, undef
153 %k2 = xor <2 x i8> undef, undef
154 %c4 = add <4 x i8> undef, undef
155 %d4 = sub <4 x i8> undef, undef
156 %e4 = mul <4 x i8> undef, undef
157 %f4 = ashr <4 x i8> undef, undef
158 %g4 = lshr <4 x i8> undef, undef
159 %h4 = shl <4 x i8> undef, undef
160 %i4 = and <4 x i8> undef, undef
161 %j4 = or <4 x i8> undef, undef
162 %k4 = xor <4 x i8> undef, undef
163 %c8 = add <8 x i8> undef, undef
164 %d8 = sub <8 x i8> undef, undef
165 %e8 = mul <8 x i8> undef, undef
166 %f8 = ashr <8 x i8> undef, undef
167 %g8 = lshr <8 x i8> undef, undef
168 %h8 = shl <8 x i8> undef, undef
169 %i8 = and <8 x i8> undef, undef
170 %j8 = or <8 x i8> undef, undef
171 %k8 = xor <8 x i8> undef, undef
172 %c16 = add <16 x i8> undef, undef
173 %d16 = sub <16 x i8> undef, undef
174 %e16 = mul <16 x i8> undef, undef
175 %f16 = ashr <16 x i8> undef, undef
176 %g16 = lshr <16 x i8> undef, undef
177 %h16 = shl <16 x i8> undef, undef
178 %i16 = and <16 x i8> undef, undef
179 %j16 = or <16 x i8> undef, undef
180 %k16 = xor <16 x i8> undef, undef
184 define void @vi16() {
185 ; CHECK-LABEL: 'vi16'
186 ; CHECK-NEXT: Cost Model: Found an estimated cost of 14 for instruction: %c2 = add <2 x i16> undef, undef
187 ; CHECK-NEXT: Cost Model: Found an estimated cost of 14 for instruction: %d2 = sub <2 x i16> undef, undef
188 ; CHECK-NEXT: Cost Model: Found an estimated cost of 14 for instruction: %e2 = mul <2 x i16> undef, undef
189 ; CHECK-NEXT: Cost Model: Found an estimated cost of 14 for instruction: %f2 = ashr <2 x i16> undef, undef
190 ; CHECK-NEXT: Cost Model: Found an estimated cost of 14 for instruction: %g2 = lshr <2 x i16> undef, undef
191 ; CHECK-NEXT: Cost Model: Found an estimated cost of 14 for instruction: %h2 = shl <2 x i16> undef, undef
192 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i2 = and <2 x i16> undef, undef
193 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j2 = or <2 x i16> undef, undef
194 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k2 = xor <2 x i16> undef, undef
195 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c4 = add <4 x i16> undef, undef
196 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d4 = sub <4 x i16> undef, undef
197 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e4 = mul <4 x i16> undef, undef
198 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %f4 = ashr <4 x i16> undef, undef
199 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %g4 = lshr <4 x i16> undef, undef
200 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %h4 = shl <4 x i16> undef, undef
201 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i4 = and <4 x i16> undef, undef
202 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j4 = or <4 x i16> undef, undef
203 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k4 = xor <4 x i16> undef, undef
204 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c8 = add <8 x i16> undef, undef
205 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d8 = sub <8 x i16> undef, undef
206 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e8 = mul <8 x i16> undef, undef
207 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %f8 = ashr <8 x i16> undef, undef
208 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %g8 = lshr <8 x i16> undef, undef
209 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %h8 = shl <8 x i16> undef, undef
210 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i8 = and <8 x i16> undef, undef
211 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j8 = or <8 x i16> undef, undef
212 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k8 = xor <8 x i16> undef, undef
213 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %c16 = add <16 x i16> undef, undef
214 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %d16 = sub <16 x i16> undef, undef
215 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %e16 = mul <16 x i16> undef, undef
216 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %f16 = ashr <16 x i16> undef, undef
217 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %g16 = lshr <16 x i16> undef, undef
218 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %h16 = shl <16 x i16> undef, undef
219 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %i16 = and <16 x i16> undef, undef
220 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %j16 = or <16 x i16> undef, undef
221 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %k16 = xor <16 x i16> undef, undef
222 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
224 %c2 = add <2 x i16> undef, undef
225 %d2 = sub <2 x i16> undef, undef
226 %e2 = mul <2 x i16> undef, undef
227 %f2 = ashr <2 x i16> undef, undef
228 %g2 = lshr <2 x i16> undef, undef
229 %h2 = shl <2 x i16> undef, undef
230 %i2 = and <2 x i16> undef, undef
231 %j2 = or <2 x i16> undef, undef
232 %k2 = xor <2 x i16> undef, undef
233 %c4 = add <4 x i16> undef, undef
234 %d4 = sub <4 x i16> undef, undef
235 %e4 = mul <4 x i16> undef, undef
236 %f4 = ashr <4 x i16> undef, undef
237 %g4 = lshr <4 x i16> undef, undef
238 %h4 = shl <4 x i16> undef, undef
239 %i4 = and <4 x i16> undef, undef
240 %j4 = or <4 x i16> undef, undef
241 %k4 = xor <4 x i16> undef, undef
242 %c8 = add <8 x i16> undef, undef
243 %d8 = sub <8 x i16> undef, undef
244 %e8 = mul <8 x i16> undef, undef
245 %f8 = ashr <8 x i16> undef, undef
246 %g8 = lshr <8 x i16> undef, undef
247 %h8 = shl <8 x i16> undef, undef
248 %i8 = and <8 x i16> undef, undef
249 %j8 = or <8 x i16> undef, undef
250 %k8 = xor <8 x i16> undef, undef
251 %c16 = add <16 x i16> undef, undef
252 %d16 = sub <16 x i16> undef, undef
253 %e16 = mul <16 x i16> undef, undef
254 %f16 = ashr <16 x i16> undef, undef
255 %g16 = lshr <16 x i16> undef, undef
256 %h16 = shl <16 x i16> undef, undef
257 %i16 = and <16 x i16> undef, undef
258 %j16 = or <16 x i16> undef, undef
259 %k16 = xor <16 x i16> undef, undef
263 define void @vi32() {
264 ; CHECK-LABEL: 'vi32'
265 ; CHECK-NEXT: Cost Model: Found an estimated cost of 14 for instruction: %c2 = add <2 x i32> undef, undef
266 ; CHECK-NEXT: Cost Model: Found an estimated cost of 14 for instruction: %d2 = sub <2 x i32> undef, undef
267 ; CHECK-NEXT: Cost Model: Found an estimated cost of 14 for instruction: %e2 = mul <2 x i32> undef, undef
268 ; CHECK-NEXT: Cost Model: Found an estimated cost of 14 for instruction: %f2 = ashr <2 x i32> undef, undef
269 ; CHECK-NEXT: Cost Model: Found an estimated cost of 14 for instruction: %g2 = lshr <2 x i32> undef, undef
270 ; CHECK-NEXT: Cost Model: Found an estimated cost of 14 for instruction: %h2 = shl <2 x i32> undef, undef
271 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i2 = and <2 x i32> undef, undef
272 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j2 = or <2 x i32> undef, undef
273 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k2 = xor <2 x i32> undef, undef
274 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c4 = add <4 x i32> undef, undef
275 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d4 = sub <4 x i32> undef, undef
276 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e4 = mul <4 x i32> undef, undef
277 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %f4 = ashr <4 x i32> undef, undef
278 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %g4 = lshr <4 x i32> undef, undef
279 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %h4 = shl <4 x i32> undef, undef
280 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i4 = and <4 x i32> undef, undef
281 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j4 = or <4 x i32> undef, undef
282 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k4 = xor <4 x i32> undef, undef
283 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %c8 = add <8 x i32> undef, undef
284 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %d8 = sub <8 x i32> undef, undef
285 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %e8 = mul <8 x i32> undef, undef
286 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %f8 = ashr <8 x i32> undef, undef
287 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %g8 = lshr <8 x i32> undef, undef
288 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %h8 = shl <8 x i32> undef, undef
289 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %i8 = and <8 x i32> undef, undef
290 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %j8 = or <8 x i32> undef, undef
291 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %k8 = xor <8 x i32> undef, undef
292 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %c16 = add <16 x i32> undef, undef
293 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %d16 = sub <16 x i32> undef, undef
294 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %e16 = mul <16 x i32> undef, undef
295 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %f16 = ashr <16 x i32> undef, undef
296 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %g16 = lshr <16 x i32> undef, undef
297 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %h16 = shl <16 x i32> undef, undef
298 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %i16 = and <16 x i32> undef, undef
299 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %j16 = or <16 x i32> undef, undef
300 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %k16 = xor <16 x i32> undef, undef
301 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
303 %c2 = add <2 x i32> undef, undef
304 %d2 = sub <2 x i32> undef, undef
305 %e2 = mul <2 x i32> undef, undef
306 %f2 = ashr <2 x i32> undef, undef
307 %g2 = lshr <2 x i32> undef, undef
308 %h2 = shl <2 x i32> undef, undef
309 %i2 = and <2 x i32> undef, undef
310 %j2 = or <2 x i32> undef, undef
311 %k2 = xor <2 x i32> undef, undef
312 %c4 = add <4 x i32> undef, undef
313 %d4 = sub <4 x i32> undef, undef
314 %e4 = mul <4 x i32> undef, undef
315 %f4 = ashr <4 x i32> undef, undef
316 %g4 = lshr <4 x i32> undef, undef
317 %h4 = shl <4 x i32> undef, undef
318 %i4 = and <4 x i32> undef, undef
319 %j4 = or <4 x i32> undef, undef
320 %k4 = xor <4 x i32> undef, undef
321 %c8 = add <8 x i32> undef, undef
322 %d8 = sub <8 x i32> undef, undef
323 %e8 = mul <8 x i32> undef, undef
324 %f8 = ashr <8 x i32> undef, undef
325 %g8 = lshr <8 x i32> undef, undef
326 %h8 = shl <8 x i32> undef, undef
327 %i8 = and <8 x i32> undef, undef
328 %j8 = or <8 x i32> undef, undef
329 %k8 = xor <8 x i32> undef, undef
330 %c16 = add <16 x i32> undef, undef
331 %d16 = sub <16 x i32> undef, undef
332 %e16 = mul <16 x i32> undef, undef
333 %f16 = ashr <16 x i32> undef, undef
334 %g16 = lshr <16 x i32> undef, undef
335 %h16 = shl <16 x i32> undef, undef
336 %i16 = and <16 x i32> undef, undef
337 %j16 = or <16 x i32> undef, undef
338 %k16 = xor <16 x i32> undef, undef
342 define void @vi64() {
343 ; CHECK-LABEL: 'vi64'
344 ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %c2 = add <2 x i64> undef, undef
345 ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %d2 = sub <2 x i64> undef, undef
346 ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %e2 = mul <2 x i64> undef, undef
347 ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %f2 = ashr <2 x i64> undef, undef
348 ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %g2 = lshr <2 x i64> undef, undef
349 ; CHECK-NEXT: Cost Model: Found an estimated cost of 16 for instruction: %h2 = shl <2 x i64> undef, undef
350 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %i2 = and <2 x i64> undef, undef
351 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %j2 = or <2 x i64> undef, undef
352 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %k2 = xor <2 x i64> undef, undef
353 ; CHECK-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %c4 = add <4 x i64> undef, undef
354 ; CHECK-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %d4 = sub <4 x i64> undef, undef
355 ; CHECK-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %e4 = mul <4 x i64> undef, undef
356 ; CHECK-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %f4 = ashr <4 x i64> undef, undef
357 ; CHECK-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %g4 = lshr <4 x i64> undef, undef
358 ; CHECK-NEXT: Cost Model: Found an estimated cost of 32 for instruction: %h4 = shl <4 x i64> undef, undef
359 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %i4 = and <4 x i64> undef, undef
360 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %j4 = or <4 x i64> undef, undef
361 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %k4 = xor <4 x i64> undef, undef
362 ; CHECK-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %c8 = add <8 x i64> undef, undef
363 ; CHECK-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %d8 = sub <8 x i64> undef, undef
364 ; CHECK-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %e8 = mul <8 x i64> undef, undef
365 ; CHECK-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %f8 = ashr <8 x i64> undef, undef
366 ; CHECK-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %g8 = lshr <8 x i64> undef, undef
367 ; CHECK-NEXT: Cost Model: Found an estimated cost of 64 for instruction: %h8 = shl <8 x i64> undef, undef
368 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %i8 = and <8 x i64> undef, undef
369 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %j8 = or <8 x i64> undef, undef
370 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %k8 = xor <8 x i64> undef, undef
371 ; CHECK-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %c16 = add <16 x i64> undef, undef
372 ; CHECK-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %d16 = sub <16 x i64> undef, undef
373 ; CHECK-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %e16 = mul <16 x i64> undef, undef
374 ; CHECK-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %f16 = ashr <16 x i64> undef, undef
375 ; CHECK-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %g16 = lshr <16 x i64> undef, undef
376 ; CHECK-NEXT: Cost Model: Found an estimated cost of 128 for instruction: %h16 = shl <16 x i64> undef, undef
377 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %i16 = and <16 x i64> undef, undef
378 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %j16 = or <16 x i64> undef, undef
379 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %k16 = xor <16 x i64> undef, undef
380 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret void
382 %c2 = add <2 x i64> undef, undef
383 %d2 = sub <2 x i64> undef, undef
384 %e2 = mul <2 x i64> undef, undef
385 %f2 = ashr <2 x i64> undef, undef
386 %g2 = lshr <2 x i64> undef, undef
387 %h2 = shl <2 x i64> undef, undef
388 %i2 = and <2 x i64> undef, undef
389 %j2 = or <2 x i64> undef, undef
390 %k2 = xor <2 x i64> undef, undef
391 %c4 = add <4 x i64> undef, undef
392 %d4 = sub <4 x i64> undef, undef
393 %e4 = mul <4 x i64> undef, undef
394 %f4 = ashr <4 x i64> undef, undef
395 %g4 = lshr <4 x i64> undef, undef
396 %h4 = shl <4 x i64> undef, undef
397 %i4 = and <4 x i64> undef, undef
398 %j4 = or <4 x i64> undef, undef
399 %k4 = xor <4 x i64> undef, undef
400 %c8 = add <8 x i64> undef, undef
401 %d8 = sub <8 x i64> undef, undef
402 %e8 = mul <8 x i64> undef, undef
403 %f8 = ashr <8 x i64> undef, undef
404 %g8 = lshr <8 x i64> undef, undef
405 %h8 = shl <8 x i64> undef, undef
406 %i8 = and <8 x i64> undef, undef
407 %j8 = or <8 x i64> undef, undef
408 %k8 = xor <8 x i64> undef, undef
409 %c16 = add <16 x i64> undef, undef
410 %d16 = sub <16 x i64> undef, undef
411 %e16 = mul <16 x i64> undef, undef
412 %f16 = ashr <16 x i64> undef, undef
413 %g16 = lshr <16 x i64> undef, undef
414 %h16 = shl <16 x i64> undef, undef
415 %i16 = and <16 x i64> undef, undef
416 %j16 = or <16 x i64> undef, undef
417 %k16 = xor <16 x i64> undef, undef