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
80 #vpnot FIXME: crashes compiler
228 # CHECK: Instruction Info:
229 # CHECK-NEXT: [1]: #uOps
230 # CHECK-NEXT: [2]: Latency
231 # CHECK-NEXT: [3]: RThroughput
232 # CHECK-NEXT: [4]: MayLoad
233 # CHECK-NEXT: [5]: MayStore
234 # CHECK-NEXT: [6]: HasSideEffects (U)
236 # CHECK: [1] [2] [3] [4] [5] [6] Instructions:
237 # CHECK-NEXT: 1 1 2.00 vcmp.f16 eq, q2, q1
238 # CHECK-NEXT: 1 1 2.00 vcmp.f32 eq, q2, q1
239 # CHECK-NEXT: 1 1 2.00 vcmp.f16 ne, q2, q1
240 # CHECK-NEXT: 1 1 2.00 vcmp.f32 ne, q2, q1
241 # CHECK-NEXT: 1 1 2.00 vcmp.f16 ge, q2, q1
242 # CHECK-NEXT: 1 1 2.00 vcmp.f32 ge, q2, q1
243 # CHECK-NEXT: 1 1 2.00 vcmp.f16 lt, q2, q1
244 # CHECK-NEXT: 1 1 2.00 vcmp.f32 lt, q2, q1
245 # CHECK-NEXT: 1 1 2.00 vcmp.f16 gt, q2, q1
246 # CHECK-NEXT: 1 1 2.00 vcmp.f32 gt, q2, q1
247 # CHECK-NEXT: 1 1 2.00 vcmp.f16 le, q2, q1
248 # CHECK-NEXT: 1 1 2.00 vcmp.f32 le, q2, q1
249 # CHECK-NEXT: 1 1 2.00 vcmp.f16 eq, q2, r1
250 # CHECK-NEXT: 1 1 2.00 vcmp.f32 eq, q2, r1
251 # CHECK-NEXT: 1 1 2.00 vcmp.f16 ne, q2, r1
252 # CHECK-NEXT: 1 1 2.00 vcmp.f32 ne, q2, r1
253 # CHECK-NEXT: 1 1 2.00 vcmp.f16 ge, q2, r1
254 # CHECK-NEXT: 1 1 2.00 vcmp.f32 ge, q2, r1
255 # CHECK-NEXT: 1 1 2.00 vcmp.f16 lt, q2, r1
256 # CHECK-NEXT: 1 1 2.00 vcmp.f32 lt, q2, r1
257 # CHECK-NEXT: 1 1 2.00 vcmp.f16 gt, q2, r1
258 # CHECK-NEXT: 1 1 2.00 vcmp.f32 gt, q2, r1
259 # CHECK-NEXT: 1 1 2.00 vcmp.f16 le, q2, r1
260 # CHECK-NEXT: 1 1 2.00 vcmp.f32 le, q2, r1
261 # CHECK-NEXT: 1 1 2.00 vcmp.i8 eq, q2, q1
262 # CHECK-NEXT: 1 1 2.00 vcmp.i16 eq, q2, q1
263 # CHECK-NEXT: 1 1 2.00 vcmp.i32 eq, q2, q1
264 # CHECK-NEXT: 1 1 2.00 vcmp.i8 ne, q2, q1
265 # CHECK-NEXT: 1 1 2.00 vcmp.i16 ne, q2, q1
266 # CHECK-NEXT: 1 1 2.00 vcmp.i32 ne, q2, q1
267 # CHECK-NEXT: 1 1 2.00 vcmp.u8 cs, q2, q1
268 # CHECK-NEXT: 1 1 2.00 vcmp.u16 cs, q2, q1
269 # CHECK-NEXT: 1 1 2.00 vcmp.u32 cs, q2, q1
270 # CHECK-NEXT: 1 1 2.00 vcmp.u8 hi, q2, q1
271 # CHECK-NEXT: 1 1 2.00 vcmp.u16 hi, q2, q1
272 # CHECK-NEXT: 1 1 2.00 vcmp.u32 hi, q2, q1
273 # CHECK-NEXT: 1 1 2.00 vcmp.s8 ge, q2, q1
274 # CHECK-NEXT: 1 1 2.00 vcmp.s16 ge, q2, q1
275 # CHECK-NEXT: 1 1 2.00 vcmp.s32 ge, q2, q1
276 # CHECK-NEXT: 1 1 2.00 vcmp.s8 lt, q2, q1
277 # CHECK-NEXT: 1 1 2.00 vcmp.s16 lt, q2, q1
278 # CHECK-NEXT: 1 1 2.00 vcmp.s32 lt, q2, q1
279 # CHECK-NEXT: 1 1 2.00 vcmp.s8 gt, q2, q1
280 # CHECK-NEXT: 1 1 2.00 vcmp.s16 gt, q2, q1
281 # CHECK-NEXT: 1 1 2.00 vcmp.s32 gt, q2, q1
282 # CHECK-NEXT: 1 1 2.00 vcmp.s8 le, q2, q1
283 # CHECK-NEXT: 1 1 2.00 vcmp.s16 le, q2, q1
284 # CHECK-NEXT: 1 1 2.00 vcmp.s32 le, q2, q1
285 # CHECK-NEXT: 1 1 2.00 vcmp.i8 eq, q2, r1
286 # CHECK-NEXT: 1 1 2.00 vcmp.i16 eq, q2, r1
287 # CHECK-NEXT: 1 1 2.00 vcmp.i32 eq, q2, r1
288 # CHECK-NEXT: 1 1 2.00 vcmp.i8 ne, q2, r1
289 # CHECK-NEXT: 1 1 2.00 vcmp.i16 ne, q2, r1
290 # CHECK-NEXT: 1 1 2.00 vcmp.i32 ne, q2, r1
291 # CHECK-NEXT: 1 1 2.00 vcmp.u8 cs, q2, r1
292 # CHECK-NEXT: 1 1 2.00 vcmp.u16 cs, q2, r1
293 # CHECK-NEXT: 1 1 2.00 vcmp.u32 cs, q2, r1
294 # CHECK-NEXT: 1 1 2.00 vcmp.u8 hi, q2, r1
295 # CHECK-NEXT: 1 1 2.00 vcmp.u16 hi, q2, r1
296 # CHECK-NEXT: 1 1 2.00 vcmp.u32 hi, q2, r1
297 # CHECK-NEXT: 1 1 2.00 vcmp.s8 ge, q2, r1
298 # CHECK-NEXT: 1 1 2.00 vcmp.s16 ge, q2, r1
299 # CHECK-NEXT: 1 1 2.00 vcmp.s32 ge, q2, r1
300 # CHECK-NEXT: 1 1 2.00 vcmp.s8 lt, q2, r1
301 # CHECK-NEXT: 1 1 2.00 vcmp.s16 lt, q2, r1
302 # CHECK-NEXT: 1 1 2.00 vcmp.s32 lt, q2, r1
303 # CHECK-NEXT: 1 1 2.00 vcmp.s8 gt, q2, r1
304 # CHECK-NEXT: 1 1 2.00 vcmp.s16 gt, q2, r1
305 # CHECK-NEXT: 1 1 2.00 vcmp.s32 gt, q2, r1
306 # CHECK-NEXT: 1 1 2.00 vcmp.s8 le, q2, r1
307 # CHECK-NEXT: 1 1 2.00 vcmp.s16 le, q2, r1
308 # CHECK-NEXT: 1 1 2.00 vcmp.s32 le, q2, r1
309 # CHECK-NEXT: 1 1 1.00 vctp.8 r0
310 # CHECK-NEXT: 1 1 1.00 vctp.16 r0
311 # CHECK-NEXT: 1 1 1.00 vctp.32 r0
312 # CHECK-NEXT: 1 1 1.00 vctp.64 r0
313 # CHECK-NEXT: 1 1 1.00 U vpst
314 # CHECK-NEXT: 1 1 2.00 vmovt q0, q0
315 # CHECK-NEXT: 1 1 2.00 U vpt.f16 eq, q2, q1
316 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
317 # CHECK-NEXT: 1 1 2.00 U vpt.f32 eq, q2, q1
318 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
319 # CHECK-NEXT: 1 1 2.00 U vpt.f16 ne, q2, q1
320 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
321 # CHECK-NEXT: 1 1 2.00 U vpt.f32 ne, q2, q1
322 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
323 # CHECK-NEXT: 1 1 2.00 U vpt.f16 ge, q2, q1
324 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
325 # CHECK-NEXT: 1 1 2.00 U vpt.f32 ge, q2, q1
326 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
327 # CHECK-NEXT: 1 1 2.00 U vpt.f16 lt, q2, q1
328 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
329 # CHECK-NEXT: 1 1 2.00 U vpt.f32 lt, q2, q1
330 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
331 # CHECK-NEXT: 1 1 2.00 U vpt.f16 gt, q2, q1
332 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
333 # CHECK-NEXT: 1 1 2.00 U vpt.f32 gt, q2, q1
334 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
335 # CHECK-NEXT: 1 1 2.00 U vpt.f16 le, q2, q1
336 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
337 # CHECK-NEXT: 1 1 2.00 U vpt.f32 le, q2, q1
338 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
339 # CHECK-NEXT: 1 1 2.00 U vpt.f16 eq, q2, r1
340 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
341 # CHECK-NEXT: 1 1 2.00 U vpt.f32 eq, q2, r1
342 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
343 # CHECK-NEXT: 1 1 2.00 U vpt.f16 ne, q2, r1
344 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
345 # CHECK-NEXT: 1 1 2.00 U vpt.f32 ne, q2, r1
346 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
347 # CHECK-NEXT: 1 1 2.00 U vpt.f16 ge, q2, r1
348 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
349 # CHECK-NEXT: 1 1 2.00 U vpt.f32 ge, q2, r1
350 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
351 # CHECK-NEXT: 1 1 2.00 U vpt.f16 lt, q2, r1
352 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
353 # CHECK-NEXT: 1 1 2.00 U vpt.f32 lt, q2, r1
354 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
355 # CHECK-NEXT: 1 1 2.00 U vpt.f16 gt, q2, r1
356 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
357 # CHECK-NEXT: 1 1 2.00 U vpt.f32 gt, q2, r1
358 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
359 # CHECK-NEXT: 1 1 2.00 U vpt.f16 le, q2, r1
360 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
361 # CHECK-NEXT: 1 1 2.00 U vpt.f32 le, q2, r1
362 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
363 # CHECK-NEXT: 1 1 2.00 U vpt.i8 eq, q2, q1
364 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
365 # CHECK-NEXT: 1 1 2.00 U vpt.i16 eq, q2, q1
366 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
367 # CHECK-NEXT: 1 1 2.00 U vpt.i32 eq, q2, q1
368 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
369 # CHECK-NEXT: 1 1 2.00 U vpt.i8 ne, q2, q1
370 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
371 # CHECK-NEXT: 1 1 2.00 U vpt.i16 ne, q2, q1
372 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
373 # CHECK-NEXT: 1 1 2.00 U vpt.i32 ne, q2, q1
374 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
375 # CHECK-NEXT: 1 1 2.00 U vpt.u8 cs, q2, q1
376 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
377 # CHECK-NEXT: 1 1 2.00 U vpt.u16 cs, q2, q1
378 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
379 # CHECK-NEXT: 1 1 2.00 U vpt.u32 cs, q2, q1
380 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
381 # CHECK-NEXT: 1 1 2.00 U vpt.u8 hi, q2, q1
382 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
383 # CHECK-NEXT: 1 1 2.00 U vpt.u16 hi, q2, q1
384 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
385 # CHECK-NEXT: 1 1 2.00 U vpt.u32 hi, q2, q1
386 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
387 # CHECK-NEXT: 1 1 2.00 U vpt.s8 ge, q2, q1
388 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
389 # CHECK-NEXT: 1 1 2.00 U vpt.s16 ge, q2, q1
390 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
391 # CHECK-NEXT: 1 1 2.00 U vpt.s32 ge, q2, q1
392 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
393 # CHECK-NEXT: 1 1 2.00 U vpt.s8 lt, q2, q1
394 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
395 # CHECK-NEXT: 1 1 2.00 U vpt.s16 lt, q2, q1
396 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
397 # CHECK-NEXT: 1 1 2.00 U vpt.s32 lt, q2, q1
398 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
399 # CHECK-NEXT: 1 1 2.00 U vpt.s8 gt, q2, q1
400 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
401 # CHECK-NEXT: 1 1 2.00 U vpt.s16 gt, q2, q1
402 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
403 # CHECK-NEXT: 1 1 2.00 U vpt.s32 gt, q2, q1
404 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
405 # CHECK-NEXT: 1 1 2.00 U vpt.s8 le, q2, q1
406 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
407 # CHECK-NEXT: 1 1 2.00 U vpt.s16 le, q2, q1
408 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
409 # CHECK-NEXT: 1 1 2.00 U vpt.s32 le, q2, q1
410 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
411 # CHECK-NEXT: 1 1 2.00 U vpt.i8 eq, q2, r1
412 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
413 # CHECK-NEXT: 1 1 2.00 U vpt.i16 eq, q2, r1
414 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
415 # CHECK-NEXT: 1 1 2.00 U vpt.i32 eq, q2, r1
416 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
417 # CHECK-NEXT: 1 1 2.00 U vpt.i8 ne, q2, r1
418 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
419 # CHECK-NEXT: 1 1 2.00 U vpt.i16 ne, q2, r1
420 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
421 # CHECK-NEXT: 1 1 2.00 U vpt.i32 ne, q2, r1
422 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
423 # CHECK-NEXT: 1 1 2.00 U vpt.u8 cs, q2, r1
424 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
425 # CHECK-NEXT: 1 1 2.00 U vpt.u16 cs, q2, r1
426 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
427 # CHECK-NEXT: 1 1 2.00 U vpt.u32 cs, q2, r1
428 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
429 # CHECK-NEXT: 1 1 2.00 U vpt.u8 hi, q2, r1
430 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
431 # CHECK-NEXT: 1 1 2.00 U vpt.u16 hi, q2, r1
432 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
433 # CHECK-NEXT: 1 1 2.00 U vpt.u32 hi, q2, r1
434 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
435 # CHECK-NEXT: 1 1 2.00 U vpt.s8 ge, q2, r1
436 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
437 # CHECK-NEXT: 1 1 2.00 U vpt.s16 ge, q2, r1
438 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
439 # CHECK-NEXT: 1 1 2.00 U vpt.s32 ge, q2, r1
440 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
441 # CHECK-NEXT: 1 1 2.00 U vpt.s8 lt, q2, r1
442 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
443 # CHECK-NEXT: 1 1 2.00 U vpt.s16 lt, q2, r1
444 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
445 # CHECK-NEXT: 1 1 2.00 U vpt.s32 lt, q2, r1
446 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
447 # CHECK-NEXT: 1 1 2.00 U vpt.s8 gt, q2, r1
448 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
449 # CHECK-NEXT: 1 1 2.00 U vpt.s16 gt, q2, r1
450 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
451 # CHECK-NEXT: 1 1 2.00 U vpt.s32 gt, q2, r1
452 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
453 # CHECK-NEXT: 1 1 2.00 U vpt.s8 le, q2, r1
454 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
455 # CHECK-NEXT: 1 1 2.00 U vpt.s16 le, q2, r1
456 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
457 # CHECK-NEXT: 1 1 2.00 U vpt.s32 le, q2, r1
458 # CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
461 # CHECK-NEXT: [0] - M55UnitALU
462 # CHECK-NEXT: [1] - M55UnitLoadStore
463 # CHECK-NEXT: [2] - M55UnitVecALU
464 # CHECK-NEXT: [3] - M55UnitVecFPALU
465 # CHECK-NEXT: [4] - M55UnitVecSys
467 # CHECK: Resource pressure per iteration:
468 # CHECK-NEXT: [0] [1] [2] [3] [4]
469 # CHECK-NEXT: - - 146.00 288.00 5.00
471 # CHECK: Resource pressure by instruction:
472 # CHECK-NEXT: [0] [1] [2] [3] [4] Instructions:
473 # CHECK-NEXT: - - - 2.00 - vcmp.f16 eq, q2, q1
474 # CHECK-NEXT: - - - 2.00 - vcmp.f32 eq, q2, q1
475 # CHECK-NEXT: - - - 2.00 - vcmp.f16 ne, q2, q1
476 # CHECK-NEXT: - - - 2.00 - vcmp.f32 ne, q2, q1
477 # CHECK-NEXT: - - - 2.00 - vcmp.f16 ge, q2, q1
478 # CHECK-NEXT: - - - 2.00 - vcmp.f32 ge, q2, q1
479 # CHECK-NEXT: - - - 2.00 - vcmp.f16 lt, q2, q1
480 # CHECK-NEXT: - - - 2.00 - vcmp.f32 lt, q2, q1
481 # CHECK-NEXT: - - - 2.00 - vcmp.f16 gt, q2, q1
482 # CHECK-NEXT: - - - 2.00 - vcmp.f32 gt, q2, q1
483 # CHECK-NEXT: - - - 2.00 - vcmp.f16 le, q2, q1
484 # CHECK-NEXT: - - - 2.00 - vcmp.f32 le, q2, q1
485 # CHECK-NEXT: - - - 2.00 - vcmp.f16 eq, q2, r1
486 # CHECK-NEXT: - - - 2.00 - vcmp.f32 eq, q2, r1
487 # CHECK-NEXT: - - - 2.00 - vcmp.f16 ne, q2, r1
488 # CHECK-NEXT: - - - 2.00 - vcmp.f32 ne, q2, r1
489 # CHECK-NEXT: - - - 2.00 - vcmp.f16 ge, q2, r1
490 # CHECK-NEXT: - - - 2.00 - vcmp.f32 ge, q2, r1
491 # CHECK-NEXT: - - - 2.00 - vcmp.f16 lt, q2, r1
492 # CHECK-NEXT: - - - 2.00 - vcmp.f32 lt, q2, r1
493 # CHECK-NEXT: - - - 2.00 - vcmp.f16 gt, q2, r1
494 # CHECK-NEXT: - - - 2.00 - vcmp.f32 gt, q2, r1
495 # CHECK-NEXT: - - - 2.00 - vcmp.f16 le, q2, r1
496 # CHECK-NEXT: - - - 2.00 - vcmp.f32 le, q2, r1
497 # CHECK-NEXT: - - - 2.00 - vcmp.i8 eq, q2, q1
498 # CHECK-NEXT: - - - 2.00 - vcmp.i16 eq, q2, q1
499 # CHECK-NEXT: - - - 2.00 - vcmp.i32 eq, q2, q1
500 # CHECK-NEXT: - - - 2.00 - vcmp.i8 ne, q2, q1
501 # CHECK-NEXT: - - - 2.00 - vcmp.i16 ne, q2, q1
502 # CHECK-NEXT: - - - 2.00 - vcmp.i32 ne, q2, q1
503 # CHECK-NEXT: - - - 2.00 - vcmp.u8 cs, q2, q1
504 # CHECK-NEXT: - - - 2.00 - vcmp.u16 cs, q2, q1
505 # CHECK-NEXT: - - - 2.00 - vcmp.u32 cs, q2, q1
506 # CHECK-NEXT: - - - 2.00 - vcmp.u8 hi, q2, q1
507 # CHECK-NEXT: - - - 2.00 - vcmp.u16 hi, q2, q1
508 # CHECK-NEXT: - - - 2.00 - vcmp.u32 hi, q2, q1
509 # CHECK-NEXT: - - - 2.00 - vcmp.s8 ge, q2, q1
510 # CHECK-NEXT: - - - 2.00 - vcmp.s16 ge, q2, q1
511 # CHECK-NEXT: - - - 2.00 - vcmp.s32 ge, q2, q1
512 # CHECK-NEXT: - - - 2.00 - vcmp.s8 lt, q2, q1
513 # CHECK-NEXT: - - - 2.00 - vcmp.s16 lt, q2, q1
514 # CHECK-NEXT: - - - 2.00 - vcmp.s32 lt, q2, q1
515 # CHECK-NEXT: - - - 2.00 - vcmp.s8 gt, q2, q1
516 # CHECK-NEXT: - - - 2.00 - vcmp.s16 gt, q2, q1
517 # CHECK-NEXT: - - - 2.00 - vcmp.s32 gt, q2, q1
518 # CHECK-NEXT: - - - 2.00 - vcmp.s8 le, q2, q1
519 # CHECK-NEXT: - - - 2.00 - vcmp.s16 le, q2, q1
520 # CHECK-NEXT: - - - 2.00 - vcmp.s32 le, q2, q1
521 # CHECK-NEXT: - - - 2.00 - vcmp.i8 eq, q2, r1
522 # CHECK-NEXT: - - - 2.00 - vcmp.i16 eq, q2, r1
523 # CHECK-NEXT: - - - 2.00 - vcmp.i32 eq, q2, r1
524 # CHECK-NEXT: - - - 2.00 - vcmp.i8 ne, q2, r1
525 # CHECK-NEXT: - - - 2.00 - vcmp.i16 ne, q2, r1
526 # CHECK-NEXT: - - - 2.00 - vcmp.i32 ne, q2, r1
527 # CHECK-NEXT: - - - 2.00 - vcmp.u8 cs, q2, r1
528 # CHECK-NEXT: - - - 2.00 - vcmp.u16 cs, q2, r1
529 # CHECK-NEXT: - - - 2.00 - vcmp.u32 cs, q2, r1
530 # CHECK-NEXT: - - - 2.00 - vcmp.u8 hi, q2, r1
531 # CHECK-NEXT: - - - 2.00 - vcmp.u16 hi, q2, r1
532 # CHECK-NEXT: - - - 2.00 - vcmp.u32 hi, q2, r1
533 # CHECK-NEXT: - - - 2.00 - vcmp.s8 ge, q2, r1
534 # CHECK-NEXT: - - - 2.00 - vcmp.s16 ge, q2, r1
535 # CHECK-NEXT: - - - 2.00 - vcmp.s32 ge, q2, r1
536 # CHECK-NEXT: - - - 2.00 - vcmp.s8 lt, q2, r1
537 # CHECK-NEXT: - - - 2.00 - vcmp.s16 lt, q2, r1
538 # CHECK-NEXT: - - - 2.00 - vcmp.s32 lt, q2, r1
539 # CHECK-NEXT: - - - 2.00 - vcmp.s8 gt, q2, r1
540 # CHECK-NEXT: - - - 2.00 - vcmp.s16 gt, q2, r1
541 # CHECK-NEXT: - - - 2.00 - vcmp.s32 gt, q2, r1
542 # CHECK-NEXT: - - - 2.00 - vcmp.s8 le, q2, r1
543 # CHECK-NEXT: - - - 2.00 - vcmp.s16 le, q2, r1
544 # CHECK-NEXT: - - - 2.00 - vcmp.s32 le, q2, r1
545 # CHECK-NEXT: - - - - 1.00 vctp.8 r0
546 # CHECK-NEXT: - - - - 1.00 vctp.16 r0
547 # CHECK-NEXT: - - - - 1.00 vctp.32 r0
548 # CHECK-NEXT: - - - - 1.00 vctp.64 r0
549 # CHECK-NEXT: - - - - 1.00 vpst
550 # CHECK-NEXT: - - 2.00 - - vmovt q0, q0
551 # CHECK-NEXT: - - - 2.00 - vpt.f16 eq, q2, q1
552 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
553 # CHECK-NEXT: - - - 2.00 - vpt.f32 eq, q2, q1
554 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
555 # CHECK-NEXT: - - - 2.00 - vpt.f16 ne, q2, q1
556 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
557 # CHECK-NEXT: - - - 2.00 - vpt.f32 ne, q2, q1
558 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
559 # CHECK-NEXT: - - - 2.00 - vpt.f16 ge, q2, q1
560 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
561 # CHECK-NEXT: - - - 2.00 - vpt.f32 ge, q2, q1
562 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
563 # CHECK-NEXT: - - - 2.00 - vpt.f16 lt, q2, q1
564 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
565 # CHECK-NEXT: - - - 2.00 - vpt.f32 lt, q2, q1
566 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
567 # CHECK-NEXT: - - - 2.00 - vpt.f16 gt, q2, q1
568 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
569 # CHECK-NEXT: - - - 2.00 - vpt.f32 gt, q2, q1
570 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
571 # CHECK-NEXT: - - - 2.00 - vpt.f16 le, q2, q1
572 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
573 # CHECK-NEXT: - - - 2.00 - vpt.f32 le, q2, q1
574 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
575 # CHECK-NEXT: - - - 2.00 - vpt.f16 eq, q2, r1
576 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
577 # CHECK-NEXT: - - - 2.00 - vpt.f32 eq, q2, r1
578 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
579 # CHECK-NEXT: - - - 2.00 - vpt.f16 ne, q2, r1
580 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
581 # CHECK-NEXT: - - - 2.00 - vpt.f32 ne, q2, r1
582 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
583 # CHECK-NEXT: - - - 2.00 - vpt.f16 ge, q2, r1
584 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
585 # CHECK-NEXT: - - - 2.00 - vpt.f32 ge, q2, r1
586 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
587 # CHECK-NEXT: - - - 2.00 - vpt.f16 lt, q2, r1
588 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
589 # CHECK-NEXT: - - - 2.00 - vpt.f32 lt, q2, r1
590 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
591 # CHECK-NEXT: - - - 2.00 - vpt.f16 gt, q2, r1
592 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
593 # CHECK-NEXT: - - - 2.00 - vpt.f32 gt, q2, r1
594 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
595 # CHECK-NEXT: - - - 2.00 - vpt.f16 le, q2, r1
596 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
597 # CHECK-NEXT: - - - 2.00 - vpt.f32 le, q2, r1
598 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
599 # CHECK-NEXT: - - - 2.00 - vpt.i8 eq, q2, q1
600 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
601 # CHECK-NEXT: - - - 2.00 - vpt.i16 eq, q2, q1
602 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
603 # CHECK-NEXT: - - - 2.00 - vpt.i32 eq, q2, q1
604 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
605 # CHECK-NEXT: - - - 2.00 - vpt.i8 ne, q2, q1
606 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
607 # CHECK-NEXT: - - - 2.00 - vpt.i16 ne, q2, q1
608 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
609 # CHECK-NEXT: - - - 2.00 - vpt.i32 ne, q2, q1
610 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
611 # CHECK-NEXT: - - - 2.00 - vpt.u8 cs, q2, q1
612 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
613 # CHECK-NEXT: - - - 2.00 - vpt.u16 cs, q2, q1
614 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
615 # CHECK-NEXT: - - - 2.00 - vpt.u32 cs, q2, q1
616 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
617 # CHECK-NEXT: - - - 2.00 - vpt.u8 hi, q2, q1
618 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
619 # CHECK-NEXT: - - - 2.00 - vpt.u16 hi, q2, q1
620 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
621 # CHECK-NEXT: - - - 2.00 - vpt.u32 hi, q2, q1
622 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
623 # CHECK-NEXT: - - - 2.00 - vpt.s8 ge, q2, q1
624 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
625 # CHECK-NEXT: - - - 2.00 - vpt.s16 ge, q2, q1
626 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
627 # CHECK-NEXT: - - - 2.00 - vpt.s32 ge, q2, q1
628 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
629 # CHECK-NEXT: - - - 2.00 - vpt.s8 lt, q2, q1
630 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
631 # CHECK-NEXT: - - - 2.00 - vpt.s16 lt, q2, q1
632 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
633 # CHECK-NEXT: - - - 2.00 - vpt.s32 lt, q2, q1
634 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
635 # CHECK-NEXT: - - - 2.00 - vpt.s8 gt, q2, q1
636 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
637 # CHECK-NEXT: - - - 2.00 - vpt.s16 gt, q2, q1
638 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
639 # CHECK-NEXT: - - - 2.00 - vpt.s32 gt, q2, q1
640 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
641 # CHECK-NEXT: - - - 2.00 - vpt.s8 le, q2, q1
642 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
643 # CHECK-NEXT: - - - 2.00 - vpt.s16 le, q2, q1
644 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
645 # CHECK-NEXT: - - - 2.00 - vpt.s32 le, q2, q1
646 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
647 # CHECK-NEXT: - - - 2.00 - vpt.i8 eq, q2, r1
648 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
649 # CHECK-NEXT: - - - 2.00 - vpt.i16 eq, q2, r1
650 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
651 # CHECK-NEXT: - - - 2.00 - vpt.i32 eq, q2, r1
652 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
653 # CHECK-NEXT: - - - 2.00 - vpt.i8 ne, q2, r1
654 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
655 # CHECK-NEXT: - - - 2.00 - vpt.i16 ne, q2, r1
656 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
657 # CHECK-NEXT: - - - 2.00 - vpt.i32 ne, q2, r1
658 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
659 # CHECK-NEXT: - - - 2.00 - vpt.u8 cs, q2, r1
660 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
661 # CHECK-NEXT: - - - 2.00 - vpt.u16 cs, q2, r1
662 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
663 # CHECK-NEXT: - - - 2.00 - vpt.u32 cs, q2, r1
664 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
665 # CHECK-NEXT: - - - 2.00 - vpt.u8 hi, q2, r1
666 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
667 # CHECK-NEXT: - - - 2.00 - vpt.u16 hi, q2, r1
668 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
669 # CHECK-NEXT: - - - 2.00 - vpt.u32 hi, q2, r1
670 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
671 # CHECK-NEXT: - - - 2.00 - vpt.s8 ge, q2, r1
672 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
673 # CHECK-NEXT: - - - 2.00 - vpt.s16 ge, q2, r1
674 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
675 # CHECK-NEXT: - - - 2.00 - vpt.s32 ge, q2, r1
676 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
677 # CHECK-NEXT: - - - 2.00 - vpt.s8 lt, q2, r1
678 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
679 # CHECK-NEXT: - - - 2.00 - vpt.s16 lt, q2, r1
680 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
681 # CHECK-NEXT: - - - 2.00 - vpt.s32 lt, q2, r1
682 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
683 # CHECK-NEXT: - - - 2.00 - vpt.s8 gt, q2, r1
684 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
685 # CHECK-NEXT: - - - 2.00 - vpt.s16 gt, q2, r1
686 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
687 # CHECK-NEXT: - - - 2.00 - vpt.s32 gt, q2, r1
688 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
689 # CHECK-NEXT: - - - 2.00 - vpt.s8 le, q2, r1
690 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
691 # CHECK-NEXT: - - - 2.00 - vpt.s16 le, q2, r1
692 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
693 # CHECK-NEXT: - - - 2.00 - vpt.s32 le, q2, r1
694 # CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2