1 ; RUN: opt < %s -cost-model -analyze -mtriple=thumbv7-apple-ios6.0.0 -mcpu=cortex-a8 | FileCheck %s
2 target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32-S32"
3 target triple = "thumbv7-apple-ios6.0.0"
8 ; CHECK: cost of 1 {{.*}} sext
9 %r0 = sext i1 undef to i8
10 ; CHECK: cost of 1 {{.*}} zext
11 %r1 = zext i1 undef to i8
12 ; CHECK: cost of 1 {{.*}} sext
13 %r2 = sext i1 undef to i16
14 ; CHECK: cost of 1 {{.*}} zext
15 %r3 = zext i1 undef to i16
16 ; CHECK: cost of 1 {{.*}} sext
17 %r4 = sext i1 undef to i32
18 ; CHECK: cost of 1 {{.*}} zext
19 %r5 = zext i1 undef to i32
20 ; CHECK: cost of 1 {{.*}} sext
21 %r6 = sext i1 undef to i64
22 ; CHECK: cost of 1 {{.*}} zext
23 %r7 = zext i1 undef to i64
24 ; CHECK: cost of 0 {{.*}} trunc
25 %r8 = trunc i8 undef to i1
26 ; CHECK: cost of 1 {{.*}} sext
27 %r9 = sext i8 undef to i16
28 ; CHECK: cost of 1 {{.*}} zext
29 %r10 = zext i8 undef to i16
30 ; CHECK: cost of 1 {{.*}} sext
31 %r11 = sext i8 undef to i32
32 ; CHECK: cost of 1 {{.*}} zext
33 %r12 = zext i8 undef to i32
34 ; CHECK: cost of 1 {{.*}} sext
35 %r13 = sext i8 undef to i64
36 ; CHECK: cost of 1 {{.*}} zext
37 %r14 = zext i8 undef to i64
38 ; CHECK: cost of 0 {{.*}} trunc
39 %r15 = trunc i16 undef to i1
40 ; CHECK: cost of 0 {{.*}} trunc
41 %r16 = trunc i16 undef to i8
42 ; CHECK: cost of 1 {{.*}} sext
43 %r17 = sext i16 undef to i32
44 ; CHECK: cost of 1 {{.*}} zext
45 %r18 = zext i16 undef to i32
46 ; CHECK: cost of 2 {{.*}} sext
47 %r19 = sext i16 undef to i64
48 ; CHECK: cost of 1 {{.*}} zext
49 %r20 = zext i16 undef to i64
50 ; CHECK: cost of 0 {{.*}} trunc
51 %r21 = trunc i32 undef to i1
52 ; CHECK: cost of 0 {{.*}} trunc
53 %r22 = trunc i32 undef to i8
54 ; CHECK: cost of 0 {{.*}} trunc
55 %r23 = trunc i32 undef to i16
56 ; CHECK: cost of 1 {{.*}} sext
57 %r24 = sext i32 undef to i64
58 ; CHECK: cost of 1 {{.*}} zext
59 %r25 = zext i32 undef to i64
60 ; CHECK: cost of 0 {{.*}} trunc
61 %r26 = trunc i64 undef to i1
62 ; CHECK: cost of 0 {{.*}} trunc
63 %r27 = trunc i64 undef to i8
64 ; CHECK: cost of 0 {{.*}} trunc
65 %r28 = trunc i64 undef to i16
66 ; CHECK: cost of 0 {{.*}} trunc
67 %r29 = trunc i64 undef to i32
69 ; -- floating point conversions --
70 ; Moves between scalar and NEON registers.
71 ; CHECK: cost of 2 {{.*}} fptoui
72 %r30 = fptoui float undef to i1
73 ; CHECK: cost of 2 {{.*}} fptosi
74 %r31 = fptosi float undef to i1
75 ; CHECK: cost of 2 {{.*}} fptoui
76 %r32 = fptoui float undef to i8
77 ; CHECK: cost of 2 {{.*}} fptosi
78 %r33 = fptosi float undef to i8
79 ; CHECK: cost of 2 {{.*}} fptoui
80 %r34 = fptoui float undef to i16
81 ; CHECK: cost of 2 {{.*}} fptosi
82 %r35 = fptosi float undef to i16
83 ; CHECK: cost of 2 {{.*}} fptoui
84 %r36 = fptoui float undef to i32
85 ; CHECK: cost of 2 {{.*}} fptosi
86 %r37 = fptosi float undef to i32
87 ; CHECK: cost of 10 {{.*}} fptoui
88 %r38 = fptoui float undef to i64
89 ; CHECK: cost of 10 {{.*}} fptosi
90 %r39 = fptosi float undef to i64
91 ; CHECK: cost of 2 {{.*}} fptoui
92 %r40 = fptoui double undef to i1
93 ; CHECK: cost of 2 {{.*}} fptosi
94 %r41 = fptosi double undef to i1
95 ; CHECK: cost of 2 {{.*}} fptoui
96 %r42 = fptoui double undef to i8
97 ; CHECK: cost of 2 {{.*}} fptosi
98 %r43 = fptosi double undef to i8
99 ; CHECK: cost of 2 {{.*}} fptoui
100 %r44 = fptoui double undef to i16
101 ; CHECK: cost of 2 {{.*}} fptosi
102 %r45 = fptosi double undef to i16
103 ; CHECK: cost of 2 {{.*}} fptoui
104 %r46 = fptoui double undef to i32
105 ; CHECK: cost of 2 {{.*}} fptosi
106 %r47 = fptosi double undef to i32
108 ; CHECK: cost of 10 {{.*}} fptoui
109 %r48 = fptoui double undef to i64
110 ; CHECK: cost of 10 {{.*}} fptosi
111 %r49 = fptosi double undef to i64
113 ; CHECK: cost of 2 {{.*}} sitofp
114 %r50 = sitofp i1 undef to float
115 ; CHECK: cost of 2 {{.*}} uitofp
116 %r51 = uitofp i1 undef to float
117 ; CHECK: cost of 2 {{.*}} sitofp
118 %r52 = sitofp i1 undef to double
119 ; CHECK: cost of 2 {{.*}} uitofp
120 %r53 = uitofp i1 undef to double
121 ; CHECK: cost of 2 {{.*}} sitofp
122 %r54 = sitofp i8 undef to float
123 ; CHECK: cost of 2 {{.*}} uitofp
124 %r55 = uitofp i8 undef to float
125 ; CHECK: cost of 2 {{.*}} sitofp
126 %r56 = sitofp i8 undef to double
127 ; CHECK: cost of 2 {{.*}} uitofp
128 %r57 = uitofp i8 undef to double
129 ; CHECK: cost of 2 {{.*}} sitofp
130 %r58 = sitofp i16 undef to float
131 ; CHECK: cost of 2 {{.*}} uitofp
132 %r59 = uitofp i16 undef to float
133 ; CHECK: cost of 2 {{.*}} sitofp
134 %r60 = sitofp i16 undef to double
135 ; CHECK: cost of 2 {{.*}} uitofp
136 %r61 = uitofp i16 undef to double
137 ; CHECK: cost of 2 {{.*}} sitofp
138 %r62 = sitofp i32 undef to float
139 ; CHECK: cost of 2 {{.*}} uitofp
140 %r63 = uitofp i32 undef to float
141 ; CHECK: cost of 2 {{.*}} sitofp
142 %r64 = sitofp i32 undef to double
143 ; CHECK: cost of 2 {{.*}} uitofp
144 %r65 = uitofp i32 undef to double
146 ; CHECK: cost of 10 {{.*}} sitofp
147 %r66 = sitofp i64 undef to float
148 ; CHECK: cost of 10 {{.*}} uitofp
149 %r67 = uitofp i64 undef to float
150 ; CHECK: cost of 10 {{.*}} sitofp
151 %r68 = sitofp i64 undef to double
152 ; CHECK: cost of 10 {{.*}} uitofp
153 %r69 = uitofp i64 undef to double
155 ; CHECK: cost of 3 {{.*}} sext
156 %r70 = sext <8 x i8> undef to <8 x i32>
157 ; CHECK: cost of 6 {{.*}} sext
158 %r71 = sext <16 x i8> undef to <16 x i32>
159 ; CHECK: cost of 3 {{.*}} zext
160 %r72 = zext <8 x i8> undef to <8 x i32>
161 ; CHECK: cost of 6 {{.*}} zext
162 %r73 = zext <16 x i8> undef to <16 x i32>
164 ; CHECK: cost of 7 {{.*}} sext
165 %rext_0 = sext <8 x i8> undef to <8 x i64>
166 ; CHECK: cost of 7 {{.*}} zext
167 %rext_1 = zext <8 x i8> undef to <8 x i64>
168 ; CHECK: cost of 6 {{.*}} sext
169 %rext_2 = sext <8 x i16> undef to <8 x i64>
170 ; CHECK: cost of 6 {{.*}} zext
171 %rext_3 = zext <8 x i16> undef to <8 x i64>
172 ; CHECK: cost of 3 {{.*}} sext
173 %rext_4 = sext <4 x i16> undef to <4 x i64>
174 ; CHECK: cost of 3 {{.*}} zext
175 %rext_5 = zext <4 x i16> undef to <4 x i64>
177 ; Vector cast cost of instructions lowering the cast to the stack.
178 ; CHECK: cost of 19 {{.*}} trunc
179 %r74 = trunc <8 x i32> undef to <8 x i8>
180 ; CHECK: cost of 38 {{.*}} trunc
181 %r75 = trunc <16 x i32> undef to <16 x i8>
183 ; Floating point truncation costs.
184 ; CHECK: cost of 1 {{.*}} fptrunc double
185 %r80 = fptrunc double undef to float
186 ; CHECK: cost of 2 {{.*}} fptrunc <2 x double
187 %r81 = fptrunc <2 x double> undef to <2 x float>
188 ; CHECK: cost of 4 {{.*}} fptrunc <4 x double
189 %r82 = fptrunc <4 x double> undef to <4 x float>
190 ; CHECK: cost of 8 {{.*}} fptrunc <8 x double
191 %r83 = fptrunc <8 x double> undef to <8 x float>
192 ; CHECK: cost of 16 {{.*}} fptrunc <16 x double
193 %r84 = fptrunc <16 x double> undef to <16 x float>
195 ; Floating point extension costs.
196 ; CHECK: cost of 1 {{.*}} fpext float
197 %r85 = fpext float undef to double
198 ; CHECK: cost of 2 {{.*}} fpext <2 x float
199 %r86 = fpext <2 x float> undef to <2 x double>
200 ; CHECK: cost of 4 {{.*}} fpext <4 x float
201 %r87 = fpext <4 x float> undef to <4 x double>
202 ; CHECK: cost of 8 {{.*}} fpext <8 x float
203 %r88 = fpext <8 x float> undef to <8 x double>
204 ; CHECK: cost of 16 {{.*}} fpext <16 x float
205 %r89 = fpext <16 x float> undef to <16 x double>
207 ;; Floating point to integer vector casts.
208 ; CHECK: cost of 1 {{.*}} fptoui
209 %r90 = fptoui <2 x float> undef to <2 x i1>
210 ; CHECK: cost of 1 {{.*}} fptosi
211 %r91 = fptosi <2 x float> undef to <2 x i1>
212 ; CHECK: cost of 1 {{.*}} fptoui
213 %r92 = fptoui <2 x float> undef to <2 x i8>
214 ; CHECK: cost of 1 {{.*}} fptosi
215 %r93 = fptosi <2 x float> undef to <2 x i8>
216 ; CHECK: cost of 1 {{.*}} fptoui
217 %r94 = fptoui <2 x float> undef to <2 x i16>
218 ; CHECK: cost of 1 {{.*}} fptosi
219 %r95 = fptosi <2 x float> undef to <2 x i16>
220 ; CHECK: cost of 1 {{.*}} fptoui
221 %r96 = fptoui <2 x float> undef to <2 x i32>
222 ; CHECK: cost of 1 {{.*}} fptosi
223 %r97 = fptosi <2 x float> undef to <2 x i32>
224 ; CHECK: cost of 24 {{.*}} fptoui
225 %r98 = fptoui <2 x float> undef to <2 x i64>
226 ; CHECK: cost of 24 {{.*}} fptosi
227 %r99 = fptosi <2 x float> undef to <2 x i64>
229 ; CHECK: cost of 8 {{.*}} fptoui
230 %r100 = fptoui <2 x double> undef to <2 x i1>
231 ; CHECK: cost of 8 {{.*}} fptosi
232 %r101 = fptosi <2 x double> undef to <2 x i1>
233 ; CHECK: cost of 8 {{.*}} fptoui
234 %r102 = fptoui <2 x double> undef to <2 x i8>
235 ; CHECK: cost of 8 {{.*}} fptosi
236 %r103 = fptosi <2 x double> undef to <2 x i8>
237 ; CHECK: cost of 8 {{.*}} fptoui
238 %r104 = fptoui <2 x double> undef to <2 x i16>
239 ; CHECK: cost of 8 {{.*}} fptosi
240 %r105 = fptosi <2 x double> undef to <2 x i16>
241 ; CHECK: cost of 2 {{.*}} fptoui
242 %r106 = fptoui <2 x double> undef to <2 x i32>
243 ; CHECK: cost of 2 {{.*}} fptosi
244 %r107 = fptosi <2 x double> undef to <2 x i32>
245 ; CHECK: cost of 24 {{.*}} fptoui
246 %r108 = fptoui <2 x double> undef to <2 x i64>
247 ; CHECK: cost of 24 {{.*}} fptosi
248 %r109 = fptosi <2 x double> undef to <2 x i64>
250 ; CHECK: cost of 16 {{.*}} fptoui
251 %r110 = fptoui <4 x float> undef to <4 x i1>
252 ; CHECK: cost of 16 {{.*}} fptosi
253 %r111 = fptosi <4 x float> undef to <4 x i1>
254 ; CHECK: cost of 3 {{.*}} fptoui
255 %r112 = fptoui <4 x float> undef to <4 x i8>
256 ; CHECK: cost of 3 {{.*}} fptosi
257 %r113 = fptosi <4 x float> undef to <4 x i8>
258 ; CHECK: cost of 2 {{.*}} fptoui
259 %r114 = fptoui <4 x float> undef to <4 x i16>
260 ; CHECK: cost of 2 {{.*}} fptosi
261 %r115 = fptosi <4 x float> undef to <4 x i16>
262 ; CHECK: cost of 1 {{.*}} fptoui
263 %r116 = fptoui <4 x float> undef to <4 x i32>
264 ; CHECK: cost of 1 {{.*}} fptosi
265 %r117 = fptosi <4 x float> undef to <4 x i32>
266 ; CHECK: cost of 48 {{.*}} fptoui
267 %r118 = fptoui <4 x float> undef to <4 x i64>
268 ; CHECK: cost of 48 {{.*}} fptosi
269 %r119 = fptosi <4 x float> undef to <4 x i64>
271 ; CHECK: cost of 16 {{.*}} fptoui
272 %r120 = fptoui <4 x double> undef to <4 x i1>
273 ; CHECK: cost of 16 {{.*}} fptosi
274 %r121 = fptosi <4 x double> undef to <4 x i1>
275 ; CHECK: cost of 16 {{.*}} fptoui
276 %r122 = fptoui <4 x double> undef to <4 x i8>
277 ; CHECK: cost of 16 {{.*}} fptosi
278 %r123 = fptosi <4 x double> undef to <4 x i8>
279 ; CHECK: cost of 16 {{.*}} fptoui
280 %r124 = fptoui <4 x double> undef to <4 x i16>
281 ; CHECK: cost of 16 {{.*}} fptosi
282 %r125 = fptosi <4 x double> undef to <4 x i16>
283 ; CHECK: cost of 16 {{.*}} fptoui
284 %r126 = fptoui <4 x double> undef to <4 x i32>
285 ; CHECK: cost of 16 {{.*}} fptosi
286 %r127 = fptosi <4 x double> undef to <4 x i32>
287 ; CHECK: cost of 48 {{.*}} fptoui
288 %r128 = fptoui <4 x double> undef to <4 x i64>
289 ; CHECK: cost of 48 {{.*}} fptosi
290 %r129 = fptosi <4 x double> undef to <4 x i64>
292 ; CHECK: cost of 32 {{.*}} fptoui
293 %r130 = fptoui <8 x float> undef to <8 x i1>
294 ; CHECK: cost of 32 {{.*}} fptosi
295 %r131 = fptosi <8 x float> undef to <8 x i1>
296 ; CHECK: cost of 32 {{.*}} fptoui
297 %r132 = fptoui <8 x float> undef to <8 x i8>
298 ; CHECK: cost of 32 {{.*}} fptosi
299 %r133 = fptosi <8 x float> undef to <8 x i8>
300 ; CHECK: cost of 4 {{.*}} fptoui
301 %r134 = fptoui <8 x float> undef to <8 x i16>
302 ; CHECK: cost of 4 {{.*}} fptosi
303 %r135 = fptosi <8 x float> undef to <8 x i16>
304 ; CHECK: cost of 2 {{.*}} fptoui
305 %r136 = fptoui <8 x float> undef to <8 x i32>
306 ; CHECK: cost of 2 {{.*}} fptosi
307 %r137 = fptosi <8 x float> undef to <8 x i32>
308 ; CHECK: cost of 96 {{.*}} fptoui
309 %r138 = fptoui <8 x float> undef to <8 x i64>
310 ; CHECK: cost of 96 {{.*}} fptosi
311 %r139 = fptosi <8 x float> undef to <8 x i64>
313 ; CHECK: cost of 32 {{.*}} fptoui
314 %r140 = fptoui <8 x double> undef to <8 x i1>
315 ; CHECK: cost of 32 {{.*}} fptosi
316 %r141 = fptosi <8 x double> undef to <8 x i1>
317 ; CHECK: cost of 32 {{.*}} fptoui
318 %r142 = fptoui <8 x double> undef to <8 x i8>
319 ; CHECK: cost of 32 {{.*}} fptosi
320 %r143 = fptosi <8 x double> undef to <8 x i8>
321 ; CHECK: cost of 32 {{.*}} fptoui
322 %r144 = fptoui <8 x double> undef to <8 x i16>
323 ; CHECK: cost of 32 {{.*}} fptosi
324 %r145 = fptosi <8 x double> undef to <8 x i16>
325 ; CHECK: cost of 32 {{.*}} fptoui
326 %r146 = fptoui <8 x double> undef to <8 x i32>
327 ; CHECK: cost of 32 {{.*}} fptosi
328 %r147 = fptosi <8 x double> undef to <8 x i32>
329 ; CHECK: cost of 96 {{.*}} fptoui
330 %r148 = fptoui <8 x double> undef to <8 x i64>
331 ; CHECK: cost of 96 {{.*}} fptosi
332 %r149 = fptosi <8 x double> undef to <8 x i64>
334 ; CHECK: cost of 64 {{.*}} fptoui
335 %r150 = fptoui <16 x float> undef to <16 x i1>
336 ; CHECK: cost of 64 {{.*}} fptosi
337 %r151 = fptosi <16 x float> undef to <16 x i1>
338 ; CHECK: cost of 64 {{.*}} fptoui
339 %r152 = fptoui <16 x float> undef to <16 x i8>
340 ; CHECK: cost of 64 {{.*}} fptosi
341 %r153 = fptosi <16 x float> undef to <16 x i8>
342 ; CHECK: cost of 8 {{.*}} fptoui
343 %r154 = fptoui <16 x float> undef to <16 x i16>
344 ; CHECK: cost of 8 {{.*}} fptosi
345 %r155 = fptosi <16 x float> undef to <16 x i16>
346 ; CHECK: cost of 4 {{.*}} fptoui
347 %r156 = fptoui <16 x float> undef to <16 x i32>
348 ; CHECK: cost of 4 {{.*}} fptosi
349 %r157 = fptosi <16 x float> undef to <16 x i32>
350 ; CHECK: cost of 192 {{.*}} fptoui
351 %r158 = fptoui <16 x float> undef to <16 x i64>
352 ; CHECK: cost of 192 {{.*}} fptosi
353 %r159 = fptosi <16 x float> undef to <16 x i64>
355 ; CHECK: cost of 64 {{.*}} fptoui
356 %r160 = fptoui <16 x double> undef to <16 x i1>
357 ; CHECK: cost of 64 {{.*}} fptosi
358 %r161 = fptosi <16 x double> undef to <16 x i1>
359 ; CHECK: cost of 64 {{.*}} fptoui
360 %r162 = fptoui <16 x double> undef to <16 x i8>
361 ; CHECK: cost of 64 {{.*}} fptosi
362 %r163 = fptosi <16 x double> undef to <16 x i8>
363 ; CHECK: cost of 64 {{.*}} fptoui
364 %r164 = fptoui <16 x double> undef to <16 x i16>
365 ; CHECK: cost of 64 {{.*}} fptosi
366 %r165 = fptosi <16 x double> undef to <16 x i16>
367 ; CHECK: cost of 64 {{.*}} fptoui
368 %r166 = fptoui <16 x double> undef to <16 x i32>
369 ; CHECK: cost of 64 {{.*}} fptosi
370 %r167 = fptosi <16 x double> undef to <16 x i32>
371 ; CHECK: cost of 192 {{.*}} fptoui
372 %r168 = fptoui <16 x double> undef to <16 x i64>
373 ; CHECK: cost of 192 {{.*}} fptosi
374 %r169 = fptosi <16 x double> undef to <16 x i64>
376 ; CHECK: cost of 8 {{.*}} uitofp
377 %r170 = uitofp <2 x i1> undef to <2 x float>
378 ; CHECK: cost of 8 {{.*}} sitofp
379 %r171 = sitofp <2 x i1> undef to <2 x float>
380 ; CHECK: cost of 3 {{.*}} uitofp
381 %r172 = uitofp <2 x i8> undef to <2 x float>
382 ; CHECK: cost of 3 {{.*}} sitofp
383 %r173 = sitofp <2 x i8> undef to <2 x float>
384 ; CHECK: cost of 2 {{.*}} uitofp
385 %r174 = uitofp <2 x i16> undef to <2 x float>
386 ; CHECK: cost of 2 {{.*}} sitofp
387 %r175 = sitofp <2 x i16> undef to <2 x float>
388 ; CHECK: cost of 1 {{.*}} uitofp
389 %r176 = uitofp <2 x i32> undef to <2 x float>
390 ; CHECK: cost of 1 {{.*}} sitofp
391 %r177 = sitofp <2 x i32> undef to <2 x float>
392 ; CHECK: cost of 24 {{.*}} uitofp
393 %r178 = uitofp <2 x i64> undef to <2 x float>
394 ; CHECK: cost of 24 {{.*}} sitofp
395 %r179 = sitofp <2 x i64> undef to <2 x float>
397 ; CHECK: cost of 8 {{.*}} uitofp
398 %r180 = uitofp <2 x i1> undef to <2 x double>
399 ; CHECK: cost of 8 {{.*}} sitofp
400 %r181 = sitofp <2 x i1> undef to <2 x double>
401 ; CHECK: cost of 4 {{.*}} uitofp
402 %r182 = uitofp <2 x i8> undef to <2 x double>
403 ; CHECK: cost of 4 {{.*}} sitofp
404 %r183 = sitofp <2 x i8> undef to <2 x double>
405 ; CHECK: cost of 3 {{.*}} uitofp
406 %r184 = uitofp <2 x i16> undef to <2 x double>
407 ; CHECK: cost of 3 {{.*}} sitofp
408 %r185 = sitofp <2 x i16> undef to <2 x double>
409 ; CHECK: cost of 2 {{.*}} uitofp
410 %r186 = uitofp <2 x i32> undef to <2 x double>
411 ; CHECK: cost of 2 {{.*}} sitofp
412 %r187 = sitofp <2 x i32> undef to <2 x double>
413 ; CHECK: cost of 24 {{.*}} uitofp
414 %r188 = uitofp <2 x i64> undef to <2 x double>
415 ; CHECK: cost of 24 {{.*}} sitofp
416 %r189 = sitofp <2 x i64> undef to <2 x double>
418 ; CHECK: cost of 3 {{.*}} uitofp
419 %r190 = uitofp <4 x i1> undef to <4 x float>
420 ; CHECK: cost of 3 {{.*}} sitofp
421 %r191 = sitofp <4 x i1> undef to <4 x float>
422 ; CHECK: cost of 3 {{.*}} uitofp
423 %r192 = uitofp <4 x i8> undef to <4 x float>
424 ; CHECK: cost of 3 {{.*}} sitofp
425 %r193 = sitofp <4 x i8> undef to <4 x float>
426 ; CHECK: cost of 2 {{.*}} uitofp
427 %r194 = uitofp <4 x i16> undef to <4 x float>
428 ; CHECK: cost of 2 {{.*}} sitofp
429 %r195 = sitofp <4 x i16> undef to <4 x float>
430 ; CHECK: cost of 1 {{.*}} uitofp
431 %r196 = uitofp <4 x i32> undef to <4 x float>
432 ; CHECK: cost of 1 {{.*}} sitofp
433 %r197 = sitofp <4 x i32> undef to <4 x float>
434 ; CHECK: cost of 48 {{.*}} uitofp
435 %r198 = uitofp <4 x i64> undef to <4 x float>
436 ; CHECK: cost of 48 {{.*}} sitofp
437 %r199 = sitofp <4 x i64> undef to <4 x float>
439 ; CHECK: cost of 16 {{.*}} uitofp
440 %r200 = uitofp <4 x i1> undef to <4 x double>
441 ; CHECK: cost of 16 {{.*}} sitofp
442 %r201 = sitofp <4 x i1> undef to <4 x double>
443 ; CHECK: cost of 16 {{.*}} uitofp
444 %r202 = uitofp <4 x i8> undef to <4 x double>
445 ; CHECK: cost of 16 {{.*}} sitofp
446 %r203 = sitofp <4 x i8> undef to <4 x double>
447 ; CHECK: cost of 16 {{.*}} uitofp
448 %r204 = uitofp <4 x i16> undef to <4 x double>
449 ; CHECK: cost of 16 {{.*}} sitofp
450 %r205 = sitofp <4 x i16> undef to <4 x double>
451 ; CHECK: cost of 16 {{.*}} uitofp
452 %r206 = uitofp <4 x i32> undef to <4 x double>
453 ; CHECK: cost of 16 {{.*}} sitofp
454 %r207 = sitofp <4 x i32> undef to <4 x double>
455 ; CHECK: cost of 48 {{.*}} uitofp
456 %r208 = uitofp <4 x i64> undef to <4 x double>
457 ; CHECK: cost of 48 {{.*}} sitofp
458 %r209 = sitofp <4 x i64> undef to <4 x double>
460 ; CHECK: cost of 32 {{.*}} uitofp
461 %r210 = uitofp <8 x i1> undef to <8 x float>
462 ; CHECK: cost of 32 {{.*}} sitofp
463 %r211 = sitofp <8 x i1> undef to <8 x float>
464 ; CHECK: cost of 32 {{.*}} uitofp
465 %r212 = uitofp <8 x i8> undef to <8 x float>
466 ; CHECK: cost of 32 {{.*}} sitofp
467 %r213 = sitofp <8 x i8> undef to <8 x float>
468 ; CHECK: cost of 4 {{.*}} uitofp
469 %r214 = uitofp <8 x i16> undef to <8 x float>
470 ; CHECK: cost of 4 {{.*}} sitofp
471 %r215 = sitofp <8 x i16> undef to <8 x float>
472 ; CHECK: cost of 2 {{.*}} uitofp
473 %r216 = uitofp <8 x i32> undef to <8 x float>
474 ; CHECK: cost of 2 {{.*}} sitofp
475 %r217 = sitofp <8 x i32> undef to <8 x float>
476 ; CHECK: cost of 96 {{.*}} uitofp
477 %r218 = uitofp <8 x i64> undef to <8 x float>
478 ; CHECK: cost of 96 {{.*}} sitofp
479 %r219 = sitofp <8 x i64> undef to <8 x float>
481 ; CHECK: cost of 32 {{.*}} uitofp
482 %r220 = uitofp <8 x i1> undef to <8 x double>
483 ; CHECK: cost of 32 {{.*}} sitofp
484 %r221 = sitofp <8 x i1> undef to <8 x double>
485 ; CHECK: cost of 32 {{.*}} uitofp
486 %r222 = uitofp <8 x i8> undef to <8 x double>
487 ; CHECK: cost of 32 {{.*}} sitofp
488 %r223 = sitofp <8 x i8> undef to <8 x double>
489 ; CHECK: cost of 32 {{.*}} uitofp
490 %r224 = uitofp <8 x i16> undef to <8 x double>
491 ; CHECK: cost of 32 {{.*}} sitofp
492 %r225 = sitofp <8 x i16> undef to <8 x double>
493 ; CHECK: cost of 32 {{.*}} uitofp
494 %r226 = uitofp <8 x i16> undef to <8 x double>
495 ; CHECK: cost of 32 {{.*}} sitofp
496 %r227 = sitofp <8 x i16> undef to <8 x double>
497 ; CHECK: cost of 96 {{.*}} uitofp
498 %r228 = uitofp <8 x i64> undef to <8 x double>
499 ; CHECK: cost of 96 {{.*}} sitofp
500 %r229 = sitofp <8 x i64> undef to <8 x double>
502 ; CHECK: cost of 64 {{.*}} uitofp
503 %r230 = uitofp <16 x i1> undef to <16 x float>
504 ; CHECK: cost of 64 {{.*}} sitofp
505 %r231 = sitofp <16 x i1> undef to <16 x float>
506 ; CHECK: cost of 64 {{.*}} uitofp
507 %r232 = uitofp <16 x i8> undef to <16 x float>
508 ; CHECK: cost of 64 {{.*}} sitofp
509 %r233 = sitofp <16 x i8> undef to <16 x float>
510 ; CHECK: cost of 8 {{.*}} uitofp
511 %r234 = uitofp <16 x i16> undef to <16 x float>
512 ; CHECK: cost of 8 {{.*}} sitofp
513 %r235 = sitofp <16 x i16> undef to <16 x float>
514 ; CHECK: cost of 4 {{.*}} uitofp
515 %r236 = uitofp <16 x i32> undef to <16 x float>
516 ; CHECK: cost of 4 {{.*}} sitofp
517 %r237 = sitofp <16 x i32> undef to <16 x float>
518 ; CHECK: cost of 192 {{.*}} uitofp
519 %r238 = uitofp <16 x i64> undef to <16 x float>
520 ; CHECK: cost of 192 {{.*}} sitofp
521 %r239 = sitofp <16 x i64> undef to <16 x float>
523 ; CHECK: cost of 64 {{.*}} uitofp
524 %r240 = uitofp <16 x i1> undef to <16 x double>
525 ; CHECK: cost of 64 {{.*}} sitofp
526 %r241 = sitofp <16 x i1> undef to <16 x double>
527 ; CHECK: cost of 64 {{.*}} uitofp
528 %r242 = uitofp <16 x i8> undef to <16 x double>
529 ; CHECK: cost of 64 {{.*}} sitofp
530 %r243 = sitofp <16 x i8> undef to <16 x double>
531 ; C4ECK: cost of 64 {{.*}} uitofp
532 %r244 = uitofp <16 x i16> undef to <16 x double>
533 ; CHECK: cost of 64 {{.*}} sitofp
534 %r245 = sitofp <16 x i16> undef to <16 x double>
535 ; CHECK: cost of 64 {{.*}} uitofp
536 %r246 = uitofp <16 x i16> undef to <16 x double>
537 ; CHECK: cost of 64 {{.*}} sitofp
538 %r247 = sitofp <16 x i16> undef to <16 x double>
539 ; CHECK: cost of 192 {{.*}} uitofp
540 %r248 = uitofp <16 x i64> undef to <16 x double>
541 ; CHECK: cost of 192 {{.*}} sitofp
542 %r249 = sitofp <16 x i64> undef to <16 x double>
544 ;CHECK: cost of 0 {{.*}} ret