# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
# RUN: llvm-mca -mtriple=thumbv8.1-m.main-none-none-eabi -mcpu=cortex-m55 -instruction-tables < %s | FileCheck %s
vcmp.f16 eq, q2, q1
vcmp.f32 eq, q2, q1
vcmp.f16 ne, q2, q1
vcmp.f32 ne, q2, q1
vcmp.f16 ge, q2, q1
vcmp.f32 ge, q2, q1
vcmp.f16 lt, q2, q1
vcmp.f32 lt, q2, q1
vcmp.f16 gt, q2, q1
vcmp.f32 gt, q2, q1
vcmp.f16 le, q2, q1
vcmp.f32 le, q2, q1
vcmp.f16 eq, q2, r1
vcmp.f32 eq, q2, r1
vcmp.f16 ne, q2, r1
vcmp.f32 ne, q2, r1
vcmp.f16 ge, q2, r1
vcmp.f32 ge, q2, r1
vcmp.f16 lt, q2, r1
vcmp.f32 lt, q2, r1
vcmp.f16 gt, q2, r1
vcmp.f32 gt, q2, r1
vcmp.f16 le, q2, r1
vcmp.f32 le, q2, r1
vcmp.i8 eq, q2, q1
vcmp.i16 eq, q2, q1
vcmp.i32 eq, q2, q1
vcmp.i8 ne, q2, q1
vcmp.i16 ne, q2, q1
vcmp.i32 ne, q2, q1
vcmp.u8 cs, q2, q1
vcmp.u16 cs, q2, q1
vcmp.u32 cs, q2, q1
vcmp.u8 hi, q2, q1
vcmp.u16 hi, q2, q1
vcmp.u32 hi, q2, q1
vcmp.s8 ge, q2, q1
vcmp.s16 ge, q2, q1
vcmp.s32 ge, q2, q1
vcmp.s8 lt, q2, q1
vcmp.s16 lt, q2, q1
vcmp.s32 lt, q2, q1
vcmp.s8 gt, q2, q1
vcmp.s16 gt, q2, q1
vcmp.s32 gt, q2, q1
vcmp.s8 le, q2, q1
vcmp.s16 le, q2, q1
vcmp.s32 le, q2, q1
vcmp.i8 eq, q2, r1
vcmp.i16 eq, q2, r1
vcmp.i32 eq, q2, r1
vcmp.i8 ne, q2, r1
vcmp.i16 ne, q2, r1
vcmp.i32 ne, q2, r1
vcmp.u8 cs, q2, r1
vcmp.u16 cs, q2, r1
vcmp.u32 cs, q2, r1
vcmp.u8 hi, q2, r1
vcmp.u16 hi, q2, r1
vcmp.u32 hi, q2, r1
vcmp.s8 ge, q2, r1
vcmp.s16 ge, q2, r1
vcmp.s32 ge, q2, r1
vcmp.s8 lt, q2, r1
vcmp.s16 lt, q2, r1
vcmp.s32 lt, q2, r1
vcmp.s8 gt, q2, r1
vcmp.s16 gt, q2, r1
vcmp.s32 gt, q2, r1
vcmp.s8 le, q2, r1
vcmp.s16 le, q2, r1
vcmp.s32 le, q2, r1
vctp.8 r0
vctp.16 r0
vctp.32 r0
vctp.64 r0
#vpnot FIXME: crashes compiler
vpst
vorrt q0, q0, q0
vpt.f16 eq, q2, q1
vorrt q0, q1, q2
vpt.f32 eq, q2, q1
vorrt q0, q1, q2
vpt.f16 ne, q2, q1
vorrt q0, q1, q2
vpt.f32 ne, q2, q1
vorrt q0, q1, q2
vpt.f16 ge, q2, q1
vorrt q0, q1, q2
vpt.f32 ge, q2, q1
vorrt q0, q1, q2
vpt.f16 lt, q2, q1
vorrt q0, q1, q2
vpt.f32 lt, q2, q1
vorrt q0, q1, q2
vpt.f16 gt, q2, q1
vorrt q0, q1, q2
vpt.f32 gt, q2, q1
vorrt q0, q1, q2
vpt.f16 le, q2, q1
vorrt q0, q1, q2
vpt.f32 le, q2, q1
vorrt q0, q1, q2
vpt.f16 eq, q2, r1
vorrt q0, q1, q2
vpt.f32 eq, q2, r1
vorrt q0, q1, q2
vpt.f16 ne, q2, r1
vorrt q0, q1, q2
vpt.f32 ne, q2, r1
vorrt q0, q1, q2
vpt.f16 ge, q2, r1
vorrt q0, q1, q2
vpt.f32 ge, q2, r1
vorrt q0, q1, q2
vpt.f16 lt, q2, r1
vorrt q0, q1, q2
vpt.f32 lt, q2, r1
vorrt q0, q1, q2
vpt.f16 gt, q2, r1
vorrt q0, q1, q2
vpt.f32 gt, q2, r1
vorrt q0, q1, q2
vpt.f16 le, q2, r1
vorrt q0, q1, q2
vpt.f32 le, q2, r1
vorrt q0, q1, q2
vpt.i8 eq, q2, q1
vorrt q0, q1, q2
vpt.i16 eq, q2, q1
vorrt q0, q1, q2
vpt.i32 eq, q2, q1
vorrt q0, q1, q2
vpt.i8 ne, q2, q1
vorrt q0, q1, q2
vpt.i16 ne, q2, q1
vorrt q0, q1, q2
vpt.i32 ne, q2, q1
vorrt q0, q1, q2
vpt.u8 cs, q2, q1
vorrt q0, q1, q2
vpt.u16 cs, q2, q1
vorrt q0, q1, q2
vpt.u32 cs, q2, q1
vorrt q0, q1, q2
vpt.u8 hi, q2, q1
vorrt q0, q1, q2
vpt.u16 hi, q2, q1
vorrt q0, q1, q2
vpt.u32 hi, q2, q1
vorrt q0, q1, q2
vpt.s8 ge, q2, q1
vorrt q0, q1, q2
vpt.s16 ge, q2, q1
vorrt q0, q1, q2
vpt.s32 ge, q2, q1
vorrt q0, q1, q2
vpt.s8 lt, q2, q1
vorrt q0, q1, q2
vpt.s16 lt, q2, q1
vorrt q0, q1, q2
vpt.s32 lt, q2, q1
vorrt q0, q1, q2
vpt.s8 gt, q2, q1
vorrt q0, q1, q2
vpt.s16 gt, q2, q1
vorrt q0, q1, q2
vpt.s32 gt, q2, q1
vorrt q0, q1, q2
vpt.s8 le, q2, q1
vorrt q0, q1, q2
vpt.s16 le, q2, q1
vorrt q0, q1, q2
vpt.s32 le, q2, q1
vorrt q0, q1, q2
vpt.i8 eq, q2, r1
vorrt q0, q1, q2
vpt.i16 eq, q2, r1
vorrt q0, q1, q2
vpt.i32 eq, q2, r1
vorrt q0, q1, q2
vpt.i8 ne, q2, r1
vorrt q0, q1, q2
vpt.i16 ne, q2, r1
vorrt q0, q1, q2
vpt.i32 ne, q2, r1
vorrt q0, q1, q2
vpt.u8 cs, q2, r1
vorrt q0, q1, q2
vpt.u16 cs, q2, r1
vorrt q0, q1, q2
vpt.u32 cs, q2, r1
vorrt q0, q1, q2
vpt.u8 hi, q2, r1
vorrt q0, q1, q2
vpt.u16 hi, q2, r1
vorrt q0, q1, q2
vpt.u32 hi, q2, r1
vorrt q0, q1, q2
vpt.s8 ge, q2, r1
vorrt q0, q1, q2
vpt.s16 ge, q2, r1
vorrt q0, q1, q2
vpt.s32 ge, q2, r1
vorrt q0, q1, q2
vpt.s8 lt, q2, r1
vorrt q0, q1, q2
vpt.s16 lt, q2, r1
vorrt q0, q1, q2
vpt.s32 lt, q2, r1
vorrt q0, q1, q2
vpt.s8 gt, q2, r1
vorrt q0, q1, q2
vpt.s16 gt, q2, r1
vorrt q0, q1, q2
vpt.s32 gt, q2, r1
vorrt q0, q1, q2
vpt.s8 le, q2, r1
vorrt q0, q1, q2
vpt.s16 le, q2, r1
vorrt q0, q1, q2
vpt.s32 le, q2, r1
vorrt q0, q1, q2
# CHECK: Instruction Info:
# CHECK-NEXT: [1]: #uOps
# CHECK-NEXT: [2]: Latency
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 2.00 vcmp.f16 eq, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.f32 eq, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.f16 ne, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.f32 ne, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.f16 ge, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.f32 ge, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.f16 lt, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.f32 lt, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.f16 gt, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.f32 gt, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.f16 le, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.f32 le, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.f16 eq, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.f32 eq, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.f16 ne, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.f32 ne, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.f16 ge, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.f32 ge, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.f16 lt, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.f32 lt, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.f16 gt, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.f32 gt, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.f16 le, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.f32 le, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.i8 eq, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.i16 eq, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.i32 eq, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.i8 ne, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.i16 ne, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.i32 ne, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.u8 cs, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.u16 cs, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.u32 cs, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.u8 hi, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.u16 hi, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.u32 hi, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.s8 ge, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.s16 ge, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.s32 ge, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.s8 lt, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.s16 lt, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.s32 lt, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.s8 gt, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.s16 gt, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.s32 gt, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.s8 le, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.s16 le, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.s32 le, q2, q1
# CHECK-NEXT: 1 1 2.00 vcmp.i8 eq, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.i16 eq, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.i32 eq, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.i8 ne, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.i16 ne, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.i32 ne, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.u8 cs, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.u16 cs, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.u32 cs, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.u8 hi, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.u16 hi, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.u32 hi, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.s8 ge, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.s16 ge, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.s32 ge, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.s8 lt, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.s16 lt, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.s32 lt, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.s8 gt, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.s16 gt, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.s32 gt, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.s8 le, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.s16 le, q2, r1
# CHECK-NEXT: 1 1 2.00 vcmp.s32 le, q2, r1
# CHECK-NEXT: 1 1 1.00 vctp.8 r0
# CHECK-NEXT: 1 1 1.00 vctp.16 r0
# CHECK-NEXT: 1 1 1.00 vctp.32 r0
# CHECK-NEXT: 1 1 1.00 vctp.64 r0
# CHECK-NEXT: 1 1 1.00 U vpst
# CHECK-NEXT: 1 1 2.00 vmovt q0, q0
# CHECK-NEXT: 1 1 2.00 U vpt.f16 eq, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.f32 eq, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.f16 ne, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.f32 ne, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.f16 ge, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.f32 ge, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.f16 lt, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.f32 lt, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.f16 gt, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.f32 gt, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.f16 le, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.f32 le, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.f16 eq, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.f32 eq, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.f16 ne, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.f32 ne, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.f16 ge, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.f32 ge, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.f16 lt, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.f32 lt, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.f16 gt, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.f32 gt, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.f16 le, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.f32 le, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.i8 eq, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.i16 eq, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.i32 eq, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.i8 ne, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.i16 ne, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.i32 ne, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.u8 cs, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.u16 cs, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.u32 cs, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.u8 hi, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.u16 hi, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.u32 hi, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s8 ge, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s16 ge, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s32 ge, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s8 lt, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s16 lt, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s32 lt, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s8 gt, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s16 gt, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s32 gt, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s8 le, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s16 le, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s32 le, q2, q1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.i8 eq, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.i16 eq, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.i32 eq, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.i8 ne, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.i16 ne, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.i32 ne, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.u8 cs, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.u16 cs, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.u32 cs, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.u8 hi, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.u16 hi, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.u32 hi, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s8 ge, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s16 ge, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s32 ge, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s8 lt, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s16 lt, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s32 lt, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s8 gt, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s16 gt, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s32 gt, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s8 le, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s16 le, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK-NEXT: 1 1 2.00 U vpt.s32 le, q2, r1
# CHECK-NEXT: 1 1 2.00 vorrt q0, q1, q2
# CHECK: Resources:
# CHECK-NEXT: [0] - M55UnitALU
# CHECK-NEXT: [1] - M55UnitLoadStore
# CHECK-NEXT: [2] - M55UnitVecALU
# CHECK-NEXT: [3] - M55UnitVecFPALU
# CHECK-NEXT: [4] - M55UnitVecSys
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4]
# CHECK-NEXT: - - 146.00 288.00 5.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] Instructions:
# CHECK-NEXT: - - - 2.00 - vcmp.f16 eq, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.f32 eq, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.f16 ne, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.f32 ne, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.f16 ge, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.f32 ge, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.f16 lt, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.f32 lt, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.f16 gt, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.f32 gt, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.f16 le, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.f32 le, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.f16 eq, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.f32 eq, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.f16 ne, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.f32 ne, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.f16 ge, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.f32 ge, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.f16 lt, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.f32 lt, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.f16 gt, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.f32 gt, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.f16 le, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.f32 le, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.i8 eq, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.i16 eq, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.i32 eq, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.i8 ne, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.i16 ne, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.i32 ne, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.u8 cs, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.u16 cs, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.u32 cs, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.u8 hi, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.u16 hi, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.u32 hi, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.s8 ge, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.s16 ge, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.s32 ge, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.s8 lt, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.s16 lt, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.s32 lt, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.s8 gt, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.s16 gt, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.s32 gt, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.s8 le, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.s16 le, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.s32 le, q2, q1
# CHECK-NEXT: - - - 2.00 - vcmp.i8 eq, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.i16 eq, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.i32 eq, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.i8 ne, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.i16 ne, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.i32 ne, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.u8 cs, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.u16 cs, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.u32 cs, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.u8 hi, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.u16 hi, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.u32 hi, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.s8 ge, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.s16 ge, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.s32 ge, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.s8 lt, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.s16 lt, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.s32 lt, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.s8 gt, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.s16 gt, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.s32 gt, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.s8 le, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.s16 le, q2, r1
# CHECK-NEXT: - - - 2.00 - vcmp.s32 le, q2, r1
# CHECK-NEXT: - - - - 1.00 vctp.8 r0
# CHECK-NEXT: - - - - 1.00 vctp.16 r0
# CHECK-NEXT: - - - - 1.00 vctp.32 r0
# CHECK-NEXT: - - - - 1.00 vctp.64 r0
# CHECK-NEXT: - - - - 1.00 vpst
# CHECK-NEXT: - - 2.00 - - vmovt q0, q0
# CHECK-NEXT: - - - 2.00 - vpt.f16 eq, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.f32 eq, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.f16 ne, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.f32 ne, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.f16 ge, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.f32 ge, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.f16 lt, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.f32 lt, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.f16 gt, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.f32 gt, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.f16 le, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.f32 le, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.f16 eq, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.f32 eq, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.f16 ne, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.f32 ne, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.f16 ge, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.f32 ge, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.f16 lt, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.f32 lt, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.f16 gt, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.f32 gt, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.f16 le, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.f32 le, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.i8 eq, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.i16 eq, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.i32 eq, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.i8 ne, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.i16 ne, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.i32 ne, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.u8 cs, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.u16 cs, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.u32 cs, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.u8 hi, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.u16 hi, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.u32 hi, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s8 ge, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s16 ge, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s32 ge, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s8 lt, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s16 lt, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s32 lt, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s8 gt, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s16 gt, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s32 gt, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s8 le, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s16 le, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s32 le, q2, q1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.i8 eq, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.i16 eq, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.i32 eq, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.i8 ne, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.i16 ne, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.i32 ne, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.u8 cs, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.u16 cs, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.u32 cs, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.u8 hi, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.u16 hi, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.u32 hi, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s8 ge, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s16 ge, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s32 ge, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s8 lt, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s16 lt, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s32 lt, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s8 gt, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s16 gt, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s32 gt, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s8 le, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s16 le, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2
# CHECK-NEXT: - - - 2.00 - vpt.s32 le, q2, r1
# CHECK-NEXT: - - 2.00 - - vorrt q0, q1, q2