1 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2 # RUN: llvm-mca -mtriple=thumbv8.1-m.main-none-none-eabi -mcpu=cortex-m55 -instruction-tables < %s | FileCheck %s
24 vcvt.f16.u16 s1
, s2
, #8
25 vcvt.f16.s16 s1
, s2
, #8
26 vcvt.f16.u32 s1
, s2
, #8
27 vcvt.f16.s32 s1
, s2
, #8
28 vcvt.u16.
f16 s1
, s2
, #8
29 vcvt.s16.
f16 s1
, s2
, #8
30 vcvt.u32.
f16 s1
, s2
, #8
31 vcvt.s32.
f16 s1
, s2
, #8
32 vcvt.f32.u16 s1
, s2
, #8
33 vcvt.f32.s16 s1
, s2
, #8
34 vcvt.f32.u32 s1
, s2
, #8
35 vcvt.f32.s32 s1
, s2
, #8
36 vcvt.u16.f32 s1
, s2
, #8
37 vcvt.s16.f32 s1
, s2
, #8
38 vcvt.u32.f32 s1
, s2
, #8
39 vcvt.s32.f32 s1
, s2
, #8
40 vcvt.f64.u16 d1
, d2
, #8
41 vcvt.f64.s16 d1
, d2
, #8
42 vcvt.f64.u32 d1
, d2
, #8
43 vcvt.f64.s32 d1
, d2
, #8
44 vcvt.u16.f64 d1
, d2
, #8
45 vcvt.s16.f64 d1
, d2
, #8
46 vcvt.u32.f64 d1
, d2
, #8
47 vcvt.s32.f64 d1
, d2
, #8
114 vmaxnm.
f16 s0
, s2
, s1
115 vmaxnm.f32 s0
, s2
, s1
116 vmaxnm.f64 d0
, d2
, d1
117 vminnm.
f16 s0
, s2
, s1
118 vminnm.f32 s0
, s2
, s1
119 vminnm.f64 d0
, d2
, d1
156 vrinta.f32.f32 s0
, s2
157 vrinta.f64.f64 d0
, d2
159 vrintm.f32.f32 s0
, s2
160 vrintm.f64.f64 d0
, d2
162 vrintn.f32.f32 s0
, s2
163 vrintn.f64.f64 d0
, d2
165 vrintp.f32.f32 s0
, s2
166 vrintp.f64.f64 d0
, d2
167 vrintr.f16.
f16 s0
, s2
168 vrintr.f32.f32 s0
, s2
169 vrintr.f64.f64 d0
, d2
170 vrintz.f16.
f16 s0
, s2
171 vrintz.f32.f32 s0
, s2
172 vrintz.f64.f64 d0
, d2
173 vrintx.f16.
f16 s0
, s2
174 vrintx.f32.f32 s0
, s2
175 vrintx.f64.f64 d0
, d2
176 vseleq.
f16 s0
, s2
, s1
177 vseleq.f32 s0
, s2
, s1
178 vseleq.f64 d0
, d2
, d1
191 # CHECK: Instruction Info:
192 # CHECK-NEXT: [1]: #uOps
193 # CHECK-NEXT: [2]: Latency
194 # CHECK-NEXT: [3]: RThroughput
195 # CHECK-NEXT: [4]: MayLoad
196 # CHECK-NEXT: [5]: MayStore
197 # CHECK-NEXT: [6]: HasSideEffects (U)
199 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
200 # CHECK-NEXT: 1 2 1.00 vabs.f16 s0, s2
201 # CHECK-NEXT: 1 2 1.00 vabs.f32 s0, s2
202 # CHECK-NEXT: 1 2 1.00 vabs.f64 d0, d2
203 # CHECK-NEXT: 1 2 1.00 vadd.f16 s0, s2, s1
204 # CHECK-NEXT: 1 2 1.00 vadd.f32 s0, s2, s1
205 # CHECK-NEXT: 1 15 1.00 vadd.f64 d0, d2, d1
206 # CHECK-NEXT: 1 1 1.00 vcmp.f16 s1, s2
207 # CHECK-NEXT: 1 1 1.00 vcmp.f32 s1, s2
208 # CHECK-NEXT: 1 1 1.00 vcmp.f64 d1, d2
209 # CHECK-NEXT: 1 1 1.00 vcmp.f16 s1, #0
210 # CHECK-NEXT: 1 1 1.00 vcmp.f32 s1, #0
211 # CHECK-NEXT: 1 1 1.00 vcmp.f64 d1, #0
212 # CHECK-NEXT: 1 1 1.00 vcmpe.f16 s1, s2
213 # CHECK-NEXT: 1 1 1.00 vcmpe.f32 s1, s2
214 # CHECK-NEXT: 1 1 1.00 vcmpe.f64 d1, d2
215 # CHECK-NEXT: 1 1 1.00 vcmpe.f16 s1, #0
216 # CHECK-NEXT: 1 1 1.00 vcmpe.f32 s1, #0
217 # CHECK-NEXT: 1 1 1.00 vcmpe.f64 d1, #0
218 # CHECK-NEXT: 1 2 1.00 vcvt.f32.f64 s1, d2
219 # CHECK-NEXT: 1 2 1.00 vcvt.f64.f32 d1, s1
220 # CHECK-NEXT: 1 2 1.00 vcvt.f16.u16 s1, s1, #8
221 # CHECK-NEXT: 1 2 1.00 vcvt.f16.s16 s1, s1, #8
222 # CHECK-NEXT: 1 2 1.00 vcvt.f16.u32 s1, s1, #8
223 # CHECK-NEXT: 1 2 1.00 vcvt.f16.s32 s1, s1, #8
224 # CHECK-NEXT: 1 2 1.00 vcvt.u16.f16 s1, s1, #8
225 # CHECK-NEXT: 1 2 1.00 vcvt.s16.f16 s1, s1, #8
226 # CHECK-NEXT: 1 2 1.00 vcvt.u32.f16 s1, s1, #8
227 # CHECK-NEXT: 1 2 1.00 vcvt.s32.f16 s1, s1, #8
228 # CHECK-NEXT: 1 2 1.00 vcvt.f32.u16 s1, s1, #8
229 # CHECK-NEXT: 1 2 1.00 vcvt.f32.s16 s1, s1, #8
230 # CHECK-NEXT: 1 2 1.00 vcvt.f32.u32 s1, s1, #8
231 # CHECK-NEXT: 1 2 1.00 vcvt.f32.s32 s1, s1, #8
232 # CHECK-NEXT: 1 2 1.00 vcvt.u16.f32 s1, s1, #8
233 # CHECK-NEXT: 1 2 1.00 vcvt.s16.f32 s1, s1, #8
234 # CHECK-NEXT: 1 2 1.00 vcvt.u32.f32 s1, s1, #8
235 # CHECK-NEXT: 1 2 1.00 vcvt.s32.f32 s1, s1, #8
236 # CHECK-NEXT: 1 2 1.00 vcvt.f64.u16 d1, d1, #8
237 # CHECK-NEXT: 1 2 1.00 vcvt.f64.s16 d1, d1, #8
238 # CHECK-NEXT: 1 2 1.00 vcvt.f64.u32 d1, d1, #8
239 # CHECK-NEXT: 1 2 1.00 vcvt.f64.s32 d1, d1, #8
240 # CHECK-NEXT: 1 2 1.00 vcvt.u16.f64 d1, d1, #8
241 # CHECK-NEXT: 1 2 1.00 vcvt.s16.f64 d1, d1, #8
242 # CHECK-NEXT: 1 2 1.00 vcvt.u32.f64 d1, d1, #8
243 # CHECK-NEXT: 1 2 1.00 vcvt.s32.f64 d1, d1, #8
244 # CHECK-NEXT: 1 2 1.00 vcvt.u32.f16 s1, s2
245 # CHECK-NEXT: 1 2 1.00 vcvt.s32.f16 s1, s2
246 # CHECK-NEXT: 1 2 1.00 vcvt.u32.f32 s1, s2
247 # CHECK-NEXT: 1 2 1.00 vcvt.s32.f32 s1, s2
248 # CHECK-NEXT: 1 2 1.00 vcvt.u32.f64 s1, d2
249 # CHECK-NEXT: 1 2 1.00 vcvt.s32.f64 s1, d2
250 # CHECK-NEXT: 1 2 1.00 vcvt.f16.u32 s1, s2
251 # CHECK-NEXT: 1 2 1.00 vcvt.f16.s32 s1, s2
252 # CHECK-NEXT: 1 2 1.00 vcvt.f32.u32 s1, s2
253 # CHECK-NEXT: 1 2 1.00 vcvt.f32.s32 s1, s2
254 # CHECK-NEXT: 1 2 1.00 vcvt.f64.u32 d1, s2
255 # CHECK-NEXT: 1 2 1.00 vcvt.f64.s32 d1, s2
256 # CHECK-NEXT: 1 2 1.00 vcvta.u32.f16 s1, s2
257 # CHECK-NEXT: 1 2 1.00 vcvta.s32.f16 s1, s2
258 # CHECK-NEXT: 1 2 1.00 vcvta.u32.f32 s1, s2
259 # CHECK-NEXT: 1 2 1.00 vcvta.s32.f32 s1, s2
260 # CHECK-NEXT: 1 2 1.00 vcvta.u32.f64 s1, d2
261 # CHECK-NEXT: 1 2 1.00 vcvta.s32.f64 s1, d2
262 # CHECK-NEXT: 1 2 1.00 vcvtm.u32.f16 s1, s2
263 # CHECK-NEXT: 1 2 1.00 vcvtm.s32.f16 s1, s2
264 # CHECK-NEXT: 1 2 1.00 vcvtm.u32.f32 s1, s2
265 # CHECK-NEXT: 1 2 1.00 vcvtm.s32.f32 s1, s2
266 # CHECK-NEXT: 1 2 1.00 vcvtm.u32.f64 s1, d2
267 # CHECK-NEXT: 1 2 1.00 vcvtm.s32.f64 s1, d2
268 # CHECK-NEXT: 1 2 1.00 vcvtn.u32.f16 s1, s2
269 # CHECK-NEXT: 1 2 1.00 vcvtn.s32.f16 s1, s2
270 # CHECK-NEXT: 1 2 1.00 vcvtn.u32.f32 s1, s2
271 # CHECK-NEXT: 1 2 1.00 vcvtn.s32.f32 s1, s2
272 # CHECK-NEXT: 1 2 1.00 vcvtn.u32.f64 s1, d2
273 # CHECK-NEXT: 1 2 1.00 vcvtn.s32.f64 s1, d2
274 # CHECK-NEXT: 1 2 1.00 vcvtp.u32.f16 s1, s2
275 # CHECK-NEXT: 1 2 1.00 vcvtp.s32.f16 s1, s2
276 # CHECK-NEXT: 1 2 1.00 vcvtp.u32.f32 s1, s2
277 # CHECK-NEXT: 1 2 1.00 vcvtp.s32.f32 s1, s2
278 # CHECK-NEXT: 1 2 1.00 vcvtp.u32.f64 s1, d2
279 # CHECK-NEXT: 1 2 1.00 vcvtp.s32.f64 s1, d2
280 # CHECK-NEXT: 1 2 1.00 vcvtb.f16.f32 s1, s2
281 # CHECK-NEXT: 1 2 1.00 vcvtb.f16.f64 s1, d2
282 # CHECK-NEXT: 1 2 1.00 vcvtb.f32.f16 s1, s2
283 # CHECK-NEXT: 1 2 1.00 vcvtb.f64.f16 d1, s2
284 # CHECK-NEXT: 1 2 1.00 vcvtr.u32.f16 s1, s2
285 # CHECK-NEXT: 1 2 1.00 vcvtr.s32.f16 s1, s2
286 # CHECK-NEXT: 1 2 1.00 vcvtr.u32.f32 s1, s2
287 # CHECK-NEXT: 1 2 1.00 vcvtr.s32.f32 s1, s2
288 # CHECK-NEXT: 1 2 1.00 vcvtr.u32.f64 s1, d2
289 # CHECK-NEXT: 1 2 1.00 vcvtr.s32.f64 s1, d2
290 # CHECK-NEXT: 1 2 1.00 vcvtt.f16.f32 s1, s2
291 # CHECK-NEXT: 1 2 1.00 vcvtt.f16.f64 s1, d2
292 # CHECK-NEXT: 1 2 1.00 vcvtt.f32.f16 s1, s2
293 # CHECK-NEXT: 1 2 1.00 vcvtt.f64.f16 d1, s2
294 # CHECK-NEXT: 1 9 1.00 vdiv.f16 s0, s2, s1
295 # CHECK-NEXT: 1 16 1.00 vdiv.f32 s0, s2, s1
296 # CHECK-NEXT: 1 30 1.00 vdiv.f64 d0, d2, d1
297 # CHECK-NEXT: 1 2 1.00 vfma.f16 s0, s2, s1
298 # CHECK-NEXT: 1 2 1.00 vfma.f32 s0, s2, s1
299 # CHECK-NEXT: 1 24 1.00 vfma.f64 d0, d2, d1
300 # CHECK-NEXT: 1 2 1.00 vfms.f16 s0, s2, s1
301 # CHECK-NEXT: 1 2 1.00 vfms.f32 s0, s2, s1
302 # CHECK-NEXT: 1 24 1.00 vfms.f64 d0, d2, d1
303 # CHECK-NEXT: 1 2 1.00 vfnma.f16 s0, s2, s1
304 # CHECK-NEXT: 1 2 1.00 vfnma.f32 s0, s2, s1
305 # CHECK-NEXT: 1 24 1.00 vfnma.f64 d0, d2, d1
306 # CHECK-NEXT: 1 2 1.00 vfnms.f16 s0, s2, s1
307 # CHECK-NEXT: 1 2 1.00 vfnms.f32 s0, s2, s1
308 # CHECK-NEXT: 1 24 1.00 vfnms.f64 d0, d2, d1
309 # CHECK-NEXT: 1 2 1.00 vins.f16 s0, s1
310 # CHECK-NEXT: 1 2 1.00 vmaxnm.f16 s0, s2, s1
311 # CHECK-NEXT: 1 2 1.00 vmaxnm.f32 s0, s2, s1
312 # CHECK-NEXT: 1 2 1.00 vmaxnm.f64 d0, d2, d1
313 # CHECK-NEXT: 1 2 1.00 vminnm.f16 s0, s2, s1
314 # CHECK-NEXT: 1 2 1.00 vminnm.f32 s0, s2, s1
315 # CHECK-NEXT: 1 2 1.00 vminnm.f64 d0, d2, d1
316 # CHECK-NEXT: 1 4 1.00 vmla.f16 s0, s2, s1
317 # CHECK-NEXT: 1 4 1.00 vmla.f32 s0, s2, s1
318 # CHECK-NEXT: 1 36 1.00 vmla.f64 d0, d2, d1
319 # CHECK-NEXT: 1 4 1.00 vmls.f16 s0, s2, s1
320 # CHECK-NEXT: 1 4 1.00 vmls.f32 s0, s2, s1
321 # CHECK-NEXT: 1 36 1.00 vmls.f64 d0, d2, d1
322 # CHECK-NEXT: 1 2 1.00 vmov.f16 s0, r1
323 # CHECK-NEXT: 1 1 1.00 vmov.f16 r0, s1
324 # CHECK-NEXT: 1 2 1.00 vmov s0, r1
325 # CHECK-NEXT: 1 1 1.00 vmov r0, s1
326 # CHECK-NEXT: 1 2 1.00 vmov d0, r1, r2
327 # CHECK-NEXT: 1 1 1.00 vmov r0, r1, d1
328 # CHECK-NEXT: 1 2 1.00 vmov s0, s1, r0, r1
329 # CHECK-NEXT: 1 1 1.00 vmov r0, r1, s0, s1
330 # CHECK-NEXT: 1 1 1.00 vmov.f16 s0, #1.000000e+00
331 # CHECK-NEXT: 1 1 1.00 vmov.f32 s0, #1.000000e+00
332 # CHECK-NEXT: 1 1 1.00 vmov.f64 d0, #1.000000e+00
333 # CHECK-NEXT: 1 1 1.00 vmov.f32 s0, s1
334 # CHECK-NEXT: 1 1 1.00 vmov.f64 d0, d1
335 # CHECK-NEXT: 1 2 1.00 vmovx.f16 s0, s1
336 # CHECK-NEXT: 1 2 1.00 vmul.f16 s0, s2, s1
337 # CHECK-NEXT: 1 2 1.00 vmul.f32 s0, s2, s1
338 # CHECK-NEXT: 1 21 1.00 vmul.f64 d0, d2, d1
339 # CHECK-NEXT: 1 2 1.00 vneg.f16 s0, s2
340 # CHECK-NEXT: 1 2 1.00 vneg.f32 s0, s2
341 # CHECK-NEXT: 1 2 1.00 vneg.f64 d0, d2
342 # CHECK-NEXT: 1 4 1.00 vnmla.f16 s0, s2, s1
343 # CHECK-NEXT: 1 4 1.00 vnmla.f32 s0, s2, s1
344 # CHECK-NEXT: 1 36 1.00 vnmla.f64 d0, d2, d1
345 # CHECK-NEXT: 1 4 1.00 vnmls.f16 s0, s2, s1
346 # CHECK-NEXT: 1 4 1.00 vnmls.f32 s0, s2, s1
347 # CHECK-NEXT: 1 36 1.00 vnmls.f64 d0, d2, d1
348 # CHECK-NEXT: 1 2 1.00 vnmul.f16 s0, s2, s1
349 # CHECK-NEXT: 1 2 1.00 vnmul.f32 s0, s2, s1
350 # CHECK-NEXT: 1 21 1.00 vnmul.f64 d0, d2, d1
351 # CHECK-NEXT: 1 2 1.00 vrinta.f16 s0, s2
352 # CHECK-NEXT: 1 2 1.00 vrinta.f32 s0, s2
353 # CHECK-NEXT: 1 2 1.00 vrinta.f64 d0, d2
354 # CHECK-NEXT: 1 2 1.00 vrintm.f16 s0, s2
355 # CHECK-NEXT: 1 2 1.00 vrintm.f32 s0, s2
356 # CHECK-NEXT: 1 2 1.00 vrintm.f64 d0, d2
357 # CHECK-NEXT: 1 2 1.00 vrintn.f16 s0, s2
358 # CHECK-NEXT: 1 2 1.00 vrintn.f32 s0, s2
359 # CHECK-NEXT: 1 2 1.00 vrintn.f64 d0, d2
360 # CHECK-NEXT: 1 2 1.00 vrintp.f16 s0, s2
361 # CHECK-NEXT: 1 2 1.00 vrintp.f32 s0, s2
362 # CHECK-NEXT: 1 2 1.00 vrintp.f64 d0, d2
363 # CHECK-NEXT: 1 2 1.00 vrintr.f16 s0, s2
364 # CHECK-NEXT: 1 2 1.00 vrintr.f32 s0, s2
365 # CHECK-NEXT: 1 2 1.00 vrintr.f64 d0, d2
366 # CHECK-NEXT: 1 2 1.00 vrintz.f16 s0, s2
367 # CHECK-NEXT: 1 2 1.00 vrintz.f32 s0, s2
368 # CHECK-NEXT: 1 2 1.00 vrintz.f64 d0, d2
369 # CHECK-NEXT: 1 2 1.00 vrintx.f16 s0, s2
370 # CHECK-NEXT: 1 2 1.00 vrintx.f32 s0, s2
371 # CHECK-NEXT: 1 2 1.00 vrintx.f64 d0, d2
372 # CHECK-NEXT: 1 2 1.00 vseleq.f16 s0, s2, s1
373 # CHECK-NEXT: 1 2 1.00 vseleq.f32 s0, s2, s1
374 # CHECK-NEXT: 1 2 1.00 vseleq.f64 d0, d2, d1
375 # CHECK-NEXT: 1 9 1.00 vsqrt.f16 s0, s2
376 # CHECK-NEXT: 1 16 1.00 vsqrt.f32 s0, s2
377 # CHECK-NEXT: 1 30 1.00 vsqrt.f64 d0, d2
378 # CHECK-NEXT: 1 2 1.00 vsub.f16 s0, s2, s1
379 # CHECK-NEXT: 1 2 1.00 vsub.f32 s0, s2, s1
380 # CHECK-NEXT: 1 15 1.00 vsub.f64 d0, d2, d1
383 # CHECK-NEXT: [0] - M55UnitALU
384 # CHECK-NEXT: [1] - M55UnitLoadStore
385 # CHECK-NEXT: [2] - M55UnitVecALU
386 # CHECK-NEXT: [3] - M55UnitVecFPALU
387 # CHECK-NEXT: [4] - M55UnitVecSys
389 # CHECK: Resource pressure per iteration:
390 # CHECK-NEXT: [0] [1] [2] [3] [4]
391 # CHECK-NEXT: - - - 181.00 -
393 # CHECK: Resource pressure by instruction:
394 # CHECK-NEXT: [0] [1] [2] [3] [4] Instructions:
395 # CHECK-NEXT: - - - 1.00 - vabs.f16 s0, s2
396 # CHECK-NEXT: - - - 1.00 - vabs.f32 s0, s2
397 # CHECK-NEXT: - - - 1.00 - vabs.f64 d0, d2
398 # CHECK-NEXT: - - - 1.00 - vadd.f16 s0, s2, s1
399 # CHECK-NEXT: - - - 1.00 - vadd.f32 s0, s2, s1
400 # CHECK-NEXT: - - - 1.00 - vadd.f64 d0, d2, d1
401 # CHECK-NEXT: - - - 1.00 - vcmp.f16 s1, s2
402 # CHECK-NEXT: - - - 1.00 - vcmp.f32 s1, s2
403 # CHECK-NEXT: - - - 1.00 - vcmp.f64 d1, d2
404 # CHECK-NEXT: - - - 1.00 - vcmp.f16 s1, #0
405 # CHECK-NEXT: - - - 1.00 - vcmp.f32 s1, #0
406 # CHECK-NEXT: - - - 1.00 - vcmp.f64 d1, #0
407 # CHECK-NEXT: - - - 1.00 - vcmpe.f16 s1, s2
408 # CHECK-NEXT: - - - 1.00 - vcmpe.f32 s1, s2
409 # CHECK-NEXT: - - - 1.00 - vcmpe.f64 d1, d2
410 # CHECK-NEXT: - - - 1.00 - vcmpe.f16 s1, #0
411 # CHECK-NEXT: - - - 1.00 - vcmpe.f32 s1, #0
412 # CHECK-NEXT: - - - 1.00 - vcmpe.f64 d1, #0
413 # CHECK-NEXT: - - - 1.00 - vcvt.f32.f64 s1, d2
414 # CHECK-NEXT: - - - 1.00 - vcvt.f64.f32 d1, s1
415 # CHECK-NEXT: - - - 1.00 - vcvt.f16.u16 s1, s1, #8
416 # CHECK-NEXT: - - - 1.00 - vcvt.f16.s16 s1, s1, #8
417 # CHECK-NEXT: - - - 1.00 - vcvt.f16.u32 s1, s1, #8
418 # CHECK-NEXT: - - - 1.00 - vcvt.f16.s32 s1, s1, #8
419 # CHECK-NEXT: - - - 1.00 - vcvt.u16.f16 s1, s1, #8
420 # CHECK-NEXT: - - - 1.00 - vcvt.s16.f16 s1, s1, #8
421 # CHECK-NEXT: - - - 1.00 - vcvt.u32.f16 s1, s1, #8
422 # CHECK-NEXT: - - - 1.00 - vcvt.s32.f16 s1, s1, #8
423 # CHECK-NEXT: - - - 1.00 - vcvt.f32.u16 s1, s1, #8
424 # CHECK-NEXT: - - - 1.00 - vcvt.f32.s16 s1, s1, #8
425 # CHECK-NEXT: - - - 1.00 - vcvt.f32.u32 s1, s1, #8
426 # CHECK-NEXT: - - - 1.00 - vcvt.f32.s32 s1, s1, #8
427 # CHECK-NEXT: - - - 1.00 - vcvt.u16.f32 s1, s1, #8
428 # CHECK-NEXT: - - - 1.00 - vcvt.s16.f32 s1, s1, #8
429 # CHECK-NEXT: - - - 1.00 - vcvt.u32.f32 s1, s1, #8
430 # CHECK-NEXT: - - - 1.00 - vcvt.s32.f32 s1, s1, #8
431 # CHECK-NEXT: - - - 1.00 - vcvt.f64.u16 d1, d1, #8
432 # CHECK-NEXT: - - - 1.00 - vcvt.f64.s16 d1, d1, #8
433 # CHECK-NEXT: - - - 1.00 - vcvt.f64.u32 d1, d1, #8
434 # CHECK-NEXT: - - - 1.00 - vcvt.f64.s32 d1, d1, #8
435 # CHECK-NEXT: - - - 1.00 - vcvt.u16.f64 d1, d1, #8
436 # CHECK-NEXT: - - - 1.00 - vcvt.s16.f64 d1, d1, #8
437 # CHECK-NEXT: - - - 1.00 - vcvt.u32.f64 d1, d1, #8
438 # CHECK-NEXT: - - - 1.00 - vcvt.s32.f64 d1, d1, #8
439 # CHECK-NEXT: - - - 1.00 - vcvt.u32.f16 s1, s2
440 # CHECK-NEXT: - - - 1.00 - vcvt.s32.f16 s1, s2
441 # CHECK-NEXT: - - - 1.00 - vcvt.u32.f32 s1, s2
442 # CHECK-NEXT: - - - 1.00 - vcvt.s32.f32 s1, s2
443 # CHECK-NEXT: - - - 1.00 - vcvt.u32.f64 s1, d2
444 # CHECK-NEXT: - - - 1.00 - vcvt.s32.f64 s1, d2
445 # CHECK-NEXT: - - - 1.00 - vcvt.f16.u32 s1, s2
446 # CHECK-NEXT: - - - 1.00 - vcvt.f16.s32 s1, s2
447 # CHECK-NEXT: - - - 1.00 - vcvt.f32.u32 s1, s2
448 # CHECK-NEXT: - - - 1.00 - vcvt.f32.s32 s1, s2
449 # CHECK-NEXT: - - - 1.00 - vcvt.f64.u32 d1, s2
450 # CHECK-NEXT: - - - 1.00 - vcvt.f64.s32 d1, s2
451 # CHECK-NEXT: - - - 1.00 - vcvta.u32.f16 s1, s2
452 # CHECK-NEXT: - - - 1.00 - vcvta.s32.f16 s1, s2
453 # CHECK-NEXT: - - - 1.00 - vcvta.u32.f32 s1, s2
454 # CHECK-NEXT: - - - 1.00 - vcvta.s32.f32 s1, s2
455 # CHECK-NEXT: - - - 1.00 - vcvta.u32.f64 s1, d2
456 # CHECK-NEXT: - - - 1.00 - vcvta.s32.f64 s1, d2
457 # CHECK-NEXT: - - - 1.00 - vcvtm.u32.f16 s1, s2
458 # CHECK-NEXT: - - - 1.00 - vcvtm.s32.f16 s1, s2
459 # CHECK-NEXT: - - - 1.00 - vcvtm.u32.f32 s1, s2
460 # CHECK-NEXT: - - - 1.00 - vcvtm.s32.f32 s1, s2
461 # CHECK-NEXT: - - - 1.00 - vcvtm.u32.f64 s1, d2
462 # CHECK-NEXT: - - - 1.00 - vcvtm.s32.f64 s1, d2
463 # CHECK-NEXT: - - - 1.00 - vcvtn.u32.f16 s1, s2
464 # CHECK-NEXT: - - - 1.00 - vcvtn.s32.f16 s1, s2
465 # CHECK-NEXT: - - - 1.00 - vcvtn.u32.f32 s1, s2
466 # CHECK-NEXT: - - - 1.00 - vcvtn.s32.f32 s1, s2
467 # CHECK-NEXT: - - - 1.00 - vcvtn.u32.f64 s1, d2
468 # CHECK-NEXT: - - - 1.00 - vcvtn.s32.f64 s1, d2
469 # CHECK-NEXT: - - - 1.00 - vcvtp.u32.f16 s1, s2
470 # CHECK-NEXT: - - - 1.00 - vcvtp.s32.f16 s1, s2
471 # CHECK-NEXT: - - - 1.00 - vcvtp.u32.f32 s1, s2
472 # CHECK-NEXT: - - - 1.00 - vcvtp.s32.f32 s1, s2
473 # CHECK-NEXT: - - - 1.00 - vcvtp.u32.f64 s1, d2
474 # CHECK-NEXT: - - - 1.00 - vcvtp.s32.f64 s1, d2
475 # CHECK-NEXT: - - - 1.00 - vcvtb.f16.f32 s1, s2
476 # CHECK-NEXT: - - - 1.00 - vcvtb.f16.f64 s1, d2
477 # CHECK-NEXT: - - - 1.00 - vcvtb.f32.f16 s1, s2
478 # CHECK-NEXT: - - - 1.00 - vcvtb.f64.f16 d1, s2
479 # CHECK-NEXT: - - - 1.00 - vcvtr.u32.f16 s1, s2
480 # CHECK-NEXT: - - - 1.00 - vcvtr.s32.f16 s1, s2
481 # CHECK-NEXT: - - - 1.00 - vcvtr.u32.f32 s1, s2
482 # CHECK-NEXT: - - - 1.00 - vcvtr.s32.f32 s1, s2
483 # CHECK-NEXT: - - - 1.00 - vcvtr.u32.f64 s1, d2
484 # CHECK-NEXT: - - - 1.00 - vcvtr.s32.f64 s1, d2
485 # CHECK-NEXT: - - - 1.00 - vcvtt.f16.f32 s1, s2
486 # CHECK-NEXT: - - - 1.00 - vcvtt.f16.f64 s1, d2
487 # CHECK-NEXT: - - - 1.00 - vcvtt.f32.f16 s1, s2
488 # CHECK-NEXT: - - - 1.00 - vcvtt.f64.f16 d1, s2
489 # CHECK-NEXT: - - - 1.00 - vdiv.f16 s0, s2, s1
490 # CHECK-NEXT: - - - 1.00 - vdiv.f32 s0, s2, s1
491 # CHECK-NEXT: - - - 1.00 - vdiv.f64 d0, d2, d1
492 # CHECK-NEXT: - - - 1.00 - vfma.f16 s0, s2, s1
493 # CHECK-NEXT: - - - 1.00 - vfma.f32 s0, s2, s1
494 # CHECK-NEXT: - - - 1.00 - vfma.f64 d0, d2, d1
495 # CHECK-NEXT: - - - 1.00 - vfms.f16 s0, s2, s1
496 # CHECK-NEXT: - - - 1.00 - vfms.f32 s0, s2, s1
497 # CHECK-NEXT: - - - 1.00 - vfms.f64 d0, d2, d1
498 # CHECK-NEXT: - - - 1.00 - vfnma.f16 s0, s2, s1
499 # CHECK-NEXT: - - - 1.00 - vfnma.f32 s0, s2, s1
500 # CHECK-NEXT: - - - 1.00 - vfnma.f64 d0, d2, d1
501 # CHECK-NEXT: - - - 1.00 - vfnms.f16 s0, s2, s1
502 # CHECK-NEXT: - - - 1.00 - vfnms.f32 s0, s2, s1
503 # CHECK-NEXT: - - - 1.00 - vfnms.f64 d0, d2, d1
504 # CHECK-NEXT: - - - 1.00 - vins.f16 s0, s1
505 # CHECK-NEXT: - - - 1.00 - vmaxnm.f16 s0, s2, s1
506 # CHECK-NEXT: - - - 1.00 - vmaxnm.f32 s0, s2, s1
507 # CHECK-NEXT: - - - 1.00 - vmaxnm.f64 d0, d2, d1
508 # CHECK-NEXT: - - - 1.00 - vminnm.f16 s0, s2, s1
509 # CHECK-NEXT: - - - 1.00 - vminnm.f32 s0, s2, s1
510 # CHECK-NEXT: - - - 1.00 - vminnm.f64 d0, d2, d1
511 # CHECK-NEXT: - - - 1.00 - vmla.f16 s0, s2, s1
512 # CHECK-NEXT: - - - 1.00 - vmla.f32 s0, s2, s1
513 # CHECK-NEXT: - - - 1.00 - vmla.f64 d0, d2, d1
514 # CHECK-NEXT: - - - 1.00 - vmls.f16 s0, s2, s1
515 # CHECK-NEXT: - - - 1.00 - vmls.f32 s0, s2, s1
516 # CHECK-NEXT: - - - 1.00 - vmls.f64 d0, d2, d1
517 # CHECK-NEXT: - - - 1.00 - vmov.f16 s0, r1
518 # CHECK-NEXT: - - - 1.00 - vmov.f16 r0, s1
519 # CHECK-NEXT: - - - 1.00 - vmov s0, r1
520 # CHECK-NEXT: - - - 1.00 - vmov r0, s1
521 # CHECK-NEXT: - - - 1.00 - vmov d0, r1, r2
522 # CHECK-NEXT: - - - 1.00 - vmov r0, r1, d1
523 # CHECK-NEXT: - - - 1.00 - vmov s0, s1, r0, r1
524 # CHECK-NEXT: - - - 1.00 - vmov r0, r1, s0, s1
525 # CHECK-NEXT: - - - 1.00 - vmov.f16 s0, #1.000000e+00
526 # CHECK-NEXT: - - - 1.00 - vmov.f32 s0, #1.000000e+00
527 # CHECK-NEXT: - - - 1.00 - vmov.f64 d0, #1.000000e+00
528 # CHECK-NEXT: - - - 1.00 - vmov.f32 s0, s1
529 # CHECK-NEXT: - - - 1.00 - vmov.f64 d0, d1
530 # CHECK-NEXT: - - - 1.00 - vmovx.f16 s0, s1
531 # CHECK-NEXT: - - - 1.00 - vmul.f16 s0, s2, s1
532 # CHECK-NEXT: - - - 1.00 - vmul.f32 s0, s2, s1
533 # CHECK-NEXT: - - - 1.00 - vmul.f64 d0, d2, d1
534 # CHECK-NEXT: - - - 1.00 - vneg.f16 s0, s2
535 # CHECK-NEXT: - - - 1.00 - vneg.f32 s0, s2
536 # CHECK-NEXT: - - - 1.00 - vneg.f64 d0, d2
537 # CHECK-NEXT: - - - 1.00 - vnmla.f16 s0, s2, s1
538 # CHECK-NEXT: - - - 1.00 - vnmla.f32 s0, s2, s1
539 # CHECK-NEXT: - - - 1.00 - vnmla.f64 d0, d2, d1
540 # CHECK-NEXT: - - - 1.00 - vnmls.f16 s0, s2, s1
541 # CHECK-NEXT: - - - 1.00 - vnmls.f32 s0, s2, s1
542 # CHECK-NEXT: - - - 1.00 - vnmls.f64 d0, d2, d1
543 # CHECK-NEXT: - - - 1.00 - vnmul.f16 s0, s2, s1
544 # CHECK-NEXT: - - - 1.00 - vnmul.f32 s0, s2, s1
545 # CHECK-NEXT: - - - 1.00 - vnmul.f64 d0, d2, d1
546 # CHECK-NEXT: - - - 1.00 - vrinta.f16 s0, s2
547 # CHECK-NEXT: - - - 1.00 - vrinta.f32 s0, s2
548 # CHECK-NEXT: - - - 1.00 - vrinta.f64 d0, d2
549 # CHECK-NEXT: - - - 1.00 - vrintm.f16 s0, s2
550 # CHECK-NEXT: - - - 1.00 - vrintm.f32 s0, s2
551 # CHECK-NEXT: - - - 1.00 - vrintm.f64 d0, d2
552 # CHECK-NEXT: - - - 1.00 - vrintn.f16 s0, s2
553 # CHECK-NEXT: - - - 1.00 - vrintn.f32 s0, s2
554 # CHECK-NEXT: - - - 1.00 - vrintn.f64 d0, d2
555 # CHECK-NEXT: - - - 1.00 - vrintp.f16 s0, s2
556 # CHECK-NEXT: - - - 1.00 - vrintp.f32 s0, s2
557 # CHECK-NEXT: - - - 1.00 - vrintp.f64 d0, d2
558 # CHECK-NEXT: - - - 1.00 - vrintr.f16 s0, s2
559 # CHECK-NEXT: - - - 1.00 - vrintr.f32 s0, s2
560 # CHECK-NEXT: - - - 1.00 - vrintr.f64 d0, d2
561 # CHECK-NEXT: - - - 1.00 - vrintz.f16 s0, s2
562 # CHECK-NEXT: - - - 1.00 - vrintz.f32 s0, s2
563 # CHECK-NEXT: - - - 1.00 - vrintz.f64 d0, d2
564 # CHECK-NEXT: - - - 1.00 - vrintx.f16 s0, s2
565 # CHECK-NEXT: - - - 1.00 - vrintx.f32 s0, s2
566 # CHECK-NEXT: - - - 1.00 - vrintx.f64 d0, d2
567 # CHECK-NEXT: - - - 1.00 - vseleq.f16 s0, s2, s1
568 # CHECK-NEXT: - - - 1.00 - vseleq.f32 s0, s2, s1
569 # CHECK-NEXT: - - - 1.00 - vseleq.f64 d0, d2, d1
570 # CHECK-NEXT: - - - 1.00 - vsqrt.f16 s0, s2
571 # CHECK-NEXT: - - - 1.00 - vsqrt.f32 s0, s2
572 # CHECK-NEXT: - - - 1.00 - vsqrt.f64 d0, d2
573 # CHECK-NEXT: - - - 1.00 - vsub.f16 s0, s2, s1
574 # CHECK-NEXT: - - - 1.00 - vsub.f32 s0, s2, s1
575 # CHECK-NEXT: - - - 1.00 - vsub.f64 d0, d2, d1