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 3 4vcmp.f16 eq, q2, q1 5vcmp.f32 eq, q2, q1 6vcmp.f16 ne, q2, q1 7vcmp.f32 ne, q2, q1 8vcmp.f16 ge, q2, q1 9vcmp.f32 ge, q2, q1 10vcmp.f16 lt, q2, q1 11vcmp.f32 lt, q2, q1 12vcmp.f16 gt, q2, q1 13vcmp.f32 gt, q2, q1 14vcmp.f16 le, q2, q1 15vcmp.f32 le, q2, q1 16vcmp.f16 eq, q2, r1 17vcmp.f32 eq, q2, r1 18vcmp.f16 ne, q2, r1 19vcmp.f32 ne, q2, r1 20vcmp.f16 ge, q2, r1 21vcmp.f32 ge, q2, r1 22vcmp.f16 lt, q2, r1 23vcmp.f32 lt, q2, r1 24vcmp.f16 gt, q2, r1 25vcmp.f32 gt, q2, r1 26vcmp.f16 le, q2, r1 27vcmp.f32 le, q2, r1 28vcmp.i8 eq, q2, q1 29vcmp.i16 eq, q2, q1 30vcmp.i32 eq, q2, q1 31vcmp.i8 ne, q2, q1 32vcmp.i16 ne, q2, q1 33vcmp.i32 ne, q2, q1 34vcmp.u8 cs, q2, q1 35vcmp.u16 cs, q2, q1 36vcmp.u32 cs, q2, q1 37vcmp.u8 hi, q2, q1 38vcmp.u16 hi, q2, q1 39vcmp.u32 hi, q2, q1 40vcmp.s8 ge, q2, q1 41vcmp.s16 ge, q2, q1 42vcmp.s32 ge, q2, q1 43vcmp.s8 lt, q2, q1 44vcmp.s16 lt, q2, q1 45vcmp.s32 lt, q2, q1 46vcmp.s8 gt, q2, q1 47vcmp.s16 gt, q2, q1 48vcmp.s32 gt, q2, q1 49vcmp.s8 le, q2, q1 50vcmp.s16 le, q2, q1 51vcmp.s32 le, q2, q1 52vcmp.i8 eq, q2, r1 53vcmp.i16 eq, q2, r1 54vcmp.i32 eq, q2, r1 55vcmp.i8 ne, q2, r1 56vcmp.i16 ne, q2, r1 57vcmp.i32 ne, q2, r1 58vcmp.u8 cs, q2, r1 59vcmp.u16 cs, q2, r1 60vcmp.u32 cs, q2, r1 61vcmp.u8 hi, q2, r1 62vcmp.u16 hi, q2, r1 63vcmp.u32 hi, q2, r1 64vcmp.s8 ge, q2, r1 65vcmp.s16 ge, q2, r1 66vcmp.s32 ge, q2, r1 67vcmp.s8 lt, q2, r1 68vcmp.s16 lt, q2, r1 69vcmp.s32 lt, q2, r1 70vcmp.s8 gt, q2, r1 71vcmp.s16 gt, q2, r1 72vcmp.s32 gt, q2, r1 73vcmp.s8 le, q2, r1 74vcmp.s16 le, q2, r1 75vcmp.s32 le, q2, r1 76vctp.8 r0 77vctp.16 r0 78vctp.32 r0 79vctp.64 r0 80#vpnot FIXME: crashes compiler 81vpst 82vorrt q0, q0, q0 83vpt.f16 eq, q2, q1 84vorrt q0, q1, q2 85vpt.f32 eq, q2, q1 86vorrt q0, q1, q2 87vpt.f16 ne, q2, q1 88vorrt q0, q1, q2 89vpt.f32 ne, q2, q1 90vorrt q0, q1, q2 91vpt.f16 ge, q2, q1 92vorrt q0, q1, q2 93vpt.f32 ge, q2, q1 94vorrt q0, q1, q2 95vpt.f16 lt, q2, q1 96vorrt q0, q1, q2 97vpt.f32 lt, q2, q1 98vorrt q0, q1, q2 99vpt.f16 gt, q2, q1 100vorrt q0, q1, q2 101vpt.f32 gt, q2, q1 102vorrt q0, q1, q2 103vpt.f16 le, q2, q1 104vorrt q0, q1, q2 105vpt.f32 le, q2, q1 106vorrt q0, q1, q2 107vpt.f16 eq, q2, r1 108vorrt q0, q1, q2 109vpt.f32 eq, q2, r1 110vorrt q0, q1, q2 111vpt.f16 ne, q2, r1 112vorrt q0, q1, q2 113vpt.f32 ne, q2, r1 114vorrt q0, q1, q2 115vpt.f16 ge, q2, r1 116vorrt q0, q1, q2 117vpt.f32 ge, q2, r1 118vorrt q0, q1, q2 119vpt.f16 lt, q2, r1 120vorrt q0, q1, q2 121vpt.f32 lt, q2, r1 122vorrt q0, q1, q2 123vpt.f16 gt, q2, r1 124vorrt q0, q1, q2 125vpt.f32 gt, q2, r1 126vorrt q0, q1, q2 127vpt.f16 le, q2, r1 128vorrt q0, q1, q2 129vpt.f32 le, q2, r1 130vorrt q0, q1, q2 131vpt.i8 eq, q2, q1 132vorrt q0, q1, q2 133vpt.i16 eq, q2, q1 134vorrt q0, q1, q2 135vpt.i32 eq, q2, q1 136vorrt q0, q1, q2 137vpt.i8 ne, q2, q1 138vorrt q0, q1, q2 139vpt.i16 ne, q2, q1 140vorrt q0, q1, q2 141vpt.i32 ne, q2, q1 142vorrt q0, q1, q2 143vpt.u8 cs, q2, q1 144vorrt q0, q1, q2 145vpt.u16 cs, q2, q1 146vorrt q0, q1, q2 147vpt.u32 cs, q2, q1 148vorrt q0, q1, q2 149vpt.u8 hi, q2, q1 150vorrt q0, q1, q2 151vpt.u16 hi, q2, q1 152vorrt q0, q1, q2 153vpt.u32 hi, q2, q1 154vorrt q0, q1, q2 155vpt.s8 ge, q2, q1 156vorrt q0, q1, q2 157vpt.s16 ge, q2, q1 158vorrt q0, q1, q2 159vpt.s32 ge, q2, q1 160vorrt q0, q1, q2 161vpt.s8 lt, q2, q1 162vorrt q0, q1, q2 163vpt.s16 lt, q2, q1 164vorrt q0, q1, q2 165vpt.s32 lt, q2, q1 166vorrt q0, q1, q2 167vpt.s8 gt, q2, q1 168vorrt q0, q1, q2 169vpt.s16 gt, q2, q1 170vorrt q0, q1, q2 171vpt.s32 gt, q2, q1 172vorrt q0, q1, q2 173vpt.s8 le, q2, q1 174vorrt q0, q1, q2 175vpt.s16 le, q2, q1 176vorrt q0, q1, q2 177vpt.s32 le, q2, q1 178vorrt q0, q1, q2 179vpt.i8 eq, q2, r1 180vorrt q0, q1, q2 181vpt.i16 eq, q2, r1 182vorrt q0, q1, q2 183vpt.i32 eq, q2, r1 184vorrt q0, q1, q2 185vpt.i8 ne, q2, r1 186vorrt q0, q1, q2 187vpt.i16 ne, q2, r1 188vorrt q0, q1, q2 189vpt.i32 ne, q2, r1 190vorrt q0, q1, q2 191vpt.u8 cs, q2, r1 192vorrt q0, q1, q2 193vpt.u16 cs, q2, r1 194vorrt q0, q1, q2 195vpt.u32 cs, q2, r1 196vorrt q0, q1, q2 197vpt.u8 hi, q2, r1 198vorrt q0, q1, q2 199vpt.u16 hi, q2, r1 200vorrt q0, q1, q2 201vpt.u32 hi, q2, r1 202vorrt q0, q1, q2 203vpt.s8 ge, q2, r1 204vorrt q0, q1, q2 205vpt.s16 ge, q2, r1 206vorrt q0, q1, q2 207vpt.s32 ge, q2, r1 208vorrt q0, q1, q2 209vpt.s8 lt, q2, r1 210vorrt q0, q1, q2 211vpt.s16 lt, q2, r1 212vorrt q0, q1, q2 213vpt.s32 lt, q2, r1 214vorrt q0, q1, q2 215vpt.s8 gt, q2, r1 216vorrt q0, q1, q2 217vpt.s16 gt, q2, r1 218vorrt q0, q1, q2 219vpt.s32 gt, q2, r1 220vorrt q0, q1, q2 221vpt.s8 le, q2, r1 222vorrt q0, q1, q2 223vpt.s16 le, q2, r1 224vorrt q0, q1, q2 225vpt.s32 le, q2, r1 226vorrt q0, q1, q2 227 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) 235 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 459 460# CHECK: Resources: 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 466 467# CHECK: Resource pressure per iteration: 468# CHECK-NEXT: [0] [1] [2] [3] [4] 469# CHECK-NEXT: - - 146.00 288.00 5.00 470 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 695