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-m85 -mattr=+fp64,+fp16 -instruction-tables < %s | FileCheck %s 3 4vabs.f16 s0, s2 5vabs.f32 s0, s2 6vabs.f64 d0, d2 7vadd.f16 s0, s2, s1 8vadd.f32 s0, s2, s1 9vadd.f64 d0, d2, d1 10vcmp.f16 s1, s2 11vcmp.f32 s1, s2 12vcmp.f64 d1, d2 13vcmp.f16 s1, #0.0 14vcmp.f32 s1, #0.0 15vcmp.f64 d1, #0.0 16vcmpe.f16 s1, s2 17vcmpe.f32 s1, s2 18vcmpe.f64 d1, d2 19vcmpe.f16 s1, #0.0 20vcmpe.f32 s1, #0.0 21vcmpe.f64 d1, #0.0 22vcvt.f32.f64 s1, d2 23vcvt.f64.f32 d1, s1 24vcvt.f16.u16 s1, s2, #8 25vcvt.f16.s16 s1, s2, #8 26vcvt.f16.u32 s1, s2, #8 27vcvt.f16.s32 s1, s2, #8 28vcvt.u16.f16 s1, s2, #8 29vcvt.s16.f16 s1, s2, #8 30vcvt.u32.f16 s1, s2, #8 31vcvt.s32.f16 s1, s2, #8 32vcvt.f32.u16 s1, s2, #8 33vcvt.f32.s16 s1, s2, #8 34vcvt.f32.u32 s1, s2, #8 35vcvt.f32.s32 s1, s2, #8 36vcvt.u16.f32 s1, s2, #8 37vcvt.s16.f32 s1, s2, #8 38vcvt.u32.f32 s1, s2, #8 39vcvt.s32.f32 s1, s2, #8 40vcvt.f64.u16 d1, d2, #8 41vcvt.f64.s16 d1, d2, #8 42vcvt.f64.u32 d1, d2, #8 43vcvt.f64.s32 d1, d2, #8 44vcvt.u16.f64 d1, d2, #8 45vcvt.s16.f64 d1, d2, #8 46vcvt.u32.f64 d1, d2, #8 47vcvt.s32.f64 d1, d2, #8 48vcvt.u32.f16 s1, s2 49vcvt.s32.f16 s1, s2 50vcvt.u32.f32 s1, s2 51vcvt.s32.f32 s1, s2 52vcvt.u32.f64 s1, d2 53vcvt.s32.f64 s1, d2 54vcvt.f16.u32 s1, s2 55vcvt.f16.s32 s1, s2 56vcvt.f32.u32 s1, s2 57vcvt.f32.s32 s1, s2 58vcvt.f64.u32 d1, s2 59vcvt.f64.s32 d1, s2 60vcvta.u32.f16 s1, s2 61vcvta.s32.f16 s1, s2 62vcvta.u32.f32 s1, s2 63vcvta.s32.f32 s1, s2 64vcvta.u32.f64 s1, d2 65vcvta.s32.f64 s1, d2 66vcvtm.u32.f16 s1, s2 67vcvtm.s32.f16 s1, s2 68vcvtm.u32.f32 s1, s2 69vcvtm.s32.f32 s1, s2 70vcvtm.u32.f64 s1, d2 71vcvtm.s32.f64 s1, d2 72vcvtn.u32.f16 s1, s2 73vcvtn.s32.f16 s1, s2 74vcvtn.u32.f32 s1, s2 75vcvtn.s32.f32 s1, s2 76vcvtn.u32.f64 s1, d2 77vcvtn.s32.f64 s1, d2 78vcvtp.u32.f16 s1, s2 79vcvtp.s32.f16 s1, s2 80vcvtp.u32.f32 s1, s2 81vcvtp.s32.f32 s1, s2 82vcvtp.u32.f64 s1, d2 83vcvtp.s32.f64 s1, d2 84vcvtb.f16.f32 s1, s2 85vcvtb.f16.f64 s1, d2 86vcvtb.f32.f16 s1, s2 87vcvtb.f64.f16 d1, s2 88vcvtr.u32.f16 s1, s2 89vcvtr.s32.f16 s1, s2 90vcvtr.u32.f32 s1, s2 91vcvtr.s32.f32 s1, s2 92vcvtr.u32.f64 s1, d2 93vcvtr.s32.f64 s1, d2 94vcvtt.f16.f32 s1, s2 95vcvtt.f16.f64 s1, d2 96vcvtt.f32.f16 s1, s2 97vcvtt.f64.f16 d1, s2 98vdiv.f16 s0, s2, s1 99vdiv.f32 s0, s2, s1 100vdiv.f64 d0, d2, d1 101vfma.f16 s0, s2, s1 102vfma.f32 s0, s2, s1 103vfma.f64 d0, d2, d1 104vfms.f16 s0, s2, s1 105vfms.f32 s0, s2, s1 106vfms.f64 d0, d2, d1 107vfnma.f16 s0, s2, s1 108vfnma.f32 s0, s2, s1 109vfnma.f64 d0, d2, d1 110vfnms.f16 s0, s2, s1 111vfnms.f32 s0, s2, s1 112vfnms.f64 d0, d2, d1 113vins.f16 s0, s1 114vmaxnm.f16 s0, s2, s1 115vmaxnm.f32 s0, s2, s1 116vmaxnm.f64 d0, d2, d1 117vminnm.f16 s0, s2, s1 118vminnm.f32 s0, s2, s1 119vminnm.f64 d0, d2, d1 120vmla.f16 s0, s2, s1 121vmla.f32 s0, s2, s1 122vmla.f64 d0, d2, d1 123vmls.f16 s0, s2, s1 124vmls.f32 s0, s2, s1 125vmls.f64 d0, d2, d1 126vmov.f16 s0, r1 127vmov.f16 r0, s1 128vmov.f32 s0, r1 129vmov.f32 r0, s1 130vmov.f64 d0, r1, r2 131vmov.f64 r0, r1, d1 132vmov s0, s1, r0, r1 133vmov r0, r1, s0, s1 134vmov.f16 s0, #1.0 135vmov.f32 s0, #1.0 136vmov.f64 d0, #1.0 137vmov.f32 s0, s1 138vmov.f64 d0, d1 139vmovx.f16 s0, s1 140vmul.f16 s0, s2, s1 141vmul.f32 s0, s2, s1 142vmul.f64 d0, d2, d1 143vneg.f16 s0, s2 144vneg.f32 s0, s2 145vneg.f64 d0, d2 146vnmla.f16 s0, s2, s1 147vnmla.f32 s0, s2, s1 148vnmla.f64 d0, d2, d1 149vnmls.f16 s0, s2, s1 150vnmls.f32 s0, s2, s1 151vnmls.f64 d0, d2, d1 152vnmul.f16 s0, s2, s1 153vnmul.f32 s0, s2, s1 154vnmul.f64 d0, d2, d1 155vrinta.f16 s0, s2 156vrinta.f32.f32 s0, s2 157vrinta.f64.f64 d0, d2 158vrintm.f16 s0, s2 159vrintm.f32.f32 s0, s2 160vrintm.f64.f64 d0, d2 161vrintn.f16 s0, s2 162vrintn.f32.f32 s0, s2 163vrintn.f64.f64 d0, d2 164vrintp.f16 s0, s2 165vrintp.f32.f32 s0, s2 166vrintp.f64.f64 d0, d2 167vrintr.f16.f16 s0, s2 168vrintr.f32.f32 s0, s2 169vrintr.f64.f64 d0, d2 170vrintz.f16.f16 s0, s2 171vrintz.f32.f32 s0, s2 172vrintz.f64.f64 d0, d2 173vrintx.f16.f16 s0, s2 174vrintx.f32.f32 s0, s2 175vrintx.f64.f64 d0, d2 176vseleq.f16 s0, s2, s1 177vseleq.f32 s0, s2, s1 178vseleq.f64 d0, d2, d1 179vsqrt.f16 s0, s2 180vsqrt.f32 s0, s2 181vsqrt.f64 d0, d2 182vsub.f16 s0, s2, s1 183vsub.f32 s0, s2, s1 184vsub.f64 d0, d2, d1 185 186vldr.f64 d0, [r0] 187vldr.f32 s0, [r0] 188vldr.16 s0, [r0] 189vstr.f64 d0, [r0] 190vstr.f32 s0, [r0] 191vstr.16 s0, [r0] 192 193# CHECK: Instruction Info: 194# CHECK-NEXT: [1]: #uOps 195# CHECK-NEXT: [2]: Latency 196# CHECK-NEXT: [3]: RThroughput 197# CHECK-NEXT: [4]: MayLoad 198# CHECK-NEXT: [5]: MayStore 199# CHECK-NEXT: [6]: HasSideEffects (U) 200 201# CHECK: [1] [2] [3] [4] [5] [6] Instructions: 202# CHECK-NEXT: 1 1 1.00 vabs.f16 s0, s2 203# CHECK-NEXT: 1 1 1.00 vabs.f32 s0, s2 204# CHECK-NEXT: 1 1 1.00 vabs.f64 d0, d2 205# CHECK-NEXT: 1 2 1.00 vadd.f16 s0, s2, s1 206# CHECK-NEXT: 1 2 1.00 vadd.f32 s0, s2, s1 207# CHECK-NEXT: 1 6 1.00 vadd.f64 d0, d2, d1 208# CHECK-NEXT: 1 1 1.00 vcmp.f16 s1, s2 209# CHECK-NEXT: 1 1 1.00 vcmp.f32 s1, s2 210# CHECK-NEXT: 1 1 1.00 vcmp.f64 d1, d2 211# CHECK-NEXT: 1 1 1.00 vcmp.f16 s1, #0 212# CHECK-NEXT: 1 1 1.00 vcmp.f32 s1, #0 213# CHECK-NEXT: 1 1 1.00 vcmp.f64 d1, #0 214# CHECK-NEXT: 1 1 1.00 vcmpe.f16 s1, s2 215# CHECK-NEXT: 1 1 1.00 vcmpe.f32 s1, s2 216# CHECK-NEXT: 1 1 1.00 vcmpe.f64 d1, d2 217# CHECK-NEXT: 1 1 1.00 vcmpe.f16 s1, #0 218# CHECK-NEXT: 1 1 1.00 vcmpe.f32 s1, #0 219# CHECK-NEXT: 1 1 1.00 vcmpe.f64 d1, #0 220# CHECK-NEXT: 1 2 1.00 vcvt.f32.f64 s1, d2 221# CHECK-NEXT: 1 2 1.00 vcvt.f64.f32 d1, s1 222# CHECK-NEXT: 1 2 1.00 vcvt.f16.u16 s1, s1, #8 223# CHECK-NEXT: 1 2 1.00 vcvt.f16.s16 s1, s1, #8 224# CHECK-NEXT: 1 2 1.00 vcvt.f16.u32 s1, s1, #8 225# CHECK-NEXT: 1 2 1.00 vcvt.f16.s32 s1, s1, #8 226# CHECK-NEXT: 1 2 1.00 vcvt.u16.f16 s1, s1, #8 227# CHECK-NEXT: 1 2 1.00 vcvt.s16.f16 s1, s1, #8 228# CHECK-NEXT: 1 2 1.00 vcvt.u32.f16 s1, s1, #8 229# CHECK-NEXT: 1 2 1.00 vcvt.s32.f16 s1, s1, #8 230# CHECK-NEXT: 1 2 1.00 vcvt.f32.u16 s1, s1, #8 231# CHECK-NEXT: 1 2 1.00 vcvt.f32.s16 s1, s1, #8 232# CHECK-NEXT: 1 2 1.00 vcvt.f32.u32 s1, s1, #8 233# CHECK-NEXT: 1 2 1.00 vcvt.f32.s32 s1, s1, #8 234# CHECK-NEXT: 1 2 1.00 vcvt.u16.f32 s1, s1, #8 235# CHECK-NEXT: 1 2 1.00 vcvt.s16.f32 s1, s1, #8 236# CHECK-NEXT: 1 2 1.00 vcvt.u32.f32 s1, s1, #8 237# CHECK-NEXT: 1 2 1.00 vcvt.s32.f32 s1, s1, #8 238# CHECK-NEXT: 1 2 1.00 vcvt.f64.u16 d1, d1, #8 239# CHECK-NEXT: 1 2 1.00 vcvt.f64.s16 d1, d1, #8 240# CHECK-NEXT: 1 2 1.00 vcvt.f64.u32 d1, d1, #8 241# CHECK-NEXT: 1 2 1.00 vcvt.f64.s32 d1, d1, #8 242# CHECK-NEXT: 1 2 1.00 vcvt.u16.f64 d1, d1, #8 243# CHECK-NEXT: 1 2 1.00 vcvt.s16.f64 d1, d1, #8 244# CHECK-NEXT: 1 2 1.00 vcvt.u32.f64 d1, d1, #8 245# CHECK-NEXT: 1 2 1.00 vcvt.s32.f64 d1, d1, #8 246# CHECK-NEXT: 1 2 1.00 vcvt.u32.f16 s1, s2 247# CHECK-NEXT: 1 2 1.00 vcvt.s32.f16 s1, s2 248# CHECK-NEXT: 1 2 1.00 vcvt.u32.f32 s1, s2 249# CHECK-NEXT: 1 2 1.00 vcvt.s32.f32 s1, s2 250# CHECK-NEXT: 1 2 1.00 vcvt.u32.f64 s1, d2 251# CHECK-NEXT: 1 2 1.00 vcvt.s32.f64 s1, d2 252# CHECK-NEXT: 1 2 1.00 vcvt.f16.u32 s1, s2 253# CHECK-NEXT: 1 2 1.00 vcvt.f16.s32 s1, s2 254# CHECK-NEXT: 1 2 1.00 vcvt.f32.u32 s1, s2 255# CHECK-NEXT: 1 2 1.00 vcvt.f32.s32 s1, s2 256# CHECK-NEXT: 1 2 1.00 vcvt.f64.u32 d1, s2 257# CHECK-NEXT: 1 2 1.00 vcvt.f64.s32 d1, s2 258# CHECK-NEXT: 1 2 1.00 vcvta.u32.f16 s1, s2 259# CHECK-NEXT: 1 2 1.00 vcvta.s32.f16 s1, s2 260# CHECK-NEXT: 1 2 1.00 vcvta.u32.f32 s1, s2 261# CHECK-NEXT: 1 2 1.00 vcvta.s32.f32 s1, s2 262# CHECK-NEXT: 1 2 1.00 vcvta.u32.f64 s1, d2 263# CHECK-NEXT: 1 2 1.00 vcvta.s32.f64 s1, d2 264# CHECK-NEXT: 1 2 1.00 vcvtm.u32.f16 s1, s2 265# CHECK-NEXT: 1 2 1.00 vcvtm.s32.f16 s1, s2 266# CHECK-NEXT: 1 2 1.00 vcvtm.u32.f32 s1, s2 267# CHECK-NEXT: 1 2 1.00 vcvtm.s32.f32 s1, s2 268# CHECK-NEXT: 1 2 1.00 vcvtm.u32.f64 s1, d2 269# CHECK-NEXT: 1 2 1.00 vcvtm.s32.f64 s1, d2 270# CHECK-NEXT: 1 2 1.00 vcvtn.u32.f16 s1, s2 271# CHECK-NEXT: 1 2 1.00 vcvtn.s32.f16 s1, s2 272# CHECK-NEXT: 1 2 1.00 vcvtn.u32.f32 s1, s2 273# CHECK-NEXT: 1 2 1.00 vcvtn.s32.f32 s1, s2 274# CHECK-NEXT: 1 2 1.00 vcvtn.u32.f64 s1, d2 275# CHECK-NEXT: 1 2 1.00 vcvtn.s32.f64 s1, d2 276# CHECK-NEXT: 1 2 1.00 vcvtp.u32.f16 s1, s2 277# CHECK-NEXT: 1 2 1.00 vcvtp.s32.f16 s1, s2 278# CHECK-NEXT: 1 2 1.00 vcvtp.u32.f32 s1, s2 279# CHECK-NEXT: 1 2 1.00 vcvtp.s32.f32 s1, s2 280# CHECK-NEXT: 1 2 1.00 vcvtp.u32.f64 s1, d2 281# CHECK-NEXT: 1 2 1.00 vcvtp.s32.f64 s1, d2 282# CHECK-NEXT: 1 2 1.00 vcvtb.f16.f32 s1, s2 283# CHECK-NEXT: 1 2 1.00 vcvtb.f16.f64 s1, d2 284# CHECK-NEXT: 1 2 1.00 vcvtb.f32.f16 s1, s2 285# CHECK-NEXT: 1 2 1.00 vcvtb.f64.f16 d1, s2 286# CHECK-NEXT: 1 2 1.00 vcvtr.u32.f16 s1, s2 287# CHECK-NEXT: 1 2 1.00 vcvtr.s32.f16 s1, s2 288# CHECK-NEXT: 1 2 1.00 vcvtr.u32.f32 s1, s2 289# CHECK-NEXT: 1 2 1.00 vcvtr.s32.f32 s1, s2 290# CHECK-NEXT: 1 2 1.00 vcvtr.u32.f64 s1, d2 291# CHECK-NEXT: 1 2 1.00 vcvtr.s32.f64 s1, d2 292# CHECK-NEXT: 1 2 1.00 vcvtt.f16.f32 s1, s2 293# CHECK-NEXT: 1 2 1.00 vcvtt.f16.f64 s1, d2 294# CHECK-NEXT: 1 2 1.00 vcvtt.f32.f16 s1, s2 295# CHECK-NEXT: 1 2 1.00 vcvtt.f64.f16 d1, s2 296# CHECK-NEXT: 1 8 1.00 vdiv.f16 s0, s2, s1 297# CHECK-NEXT: 1 14 1.00 vdiv.f32 s0, s2, s1 298# CHECK-NEXT: 1 29 1.00 vdiv.f64 d0, d2, d1 299# CHECK-NEXT: 1 5 1.00 vfma.f16 s0, s2, s1 300# CHECK-NEXT: 1 5 1.00 vfma.f32 s0, s2, s1 301# CHECK-NEXT: 1 14 1.00 vfma.f64 d0, d2, d1 302# CHECK-NEXT: 1 5 1.00 vfms.f16 s0, s2, s1 303# CHECK-NEXT: 1 5 1.00 vfms.f32 s0, s2, s1 304# CHECK-NEXT: 1 14 1.00 vfms.f64 d0, d2, d1 305# CHECK-NEXT: 1 5 1.00 vfnma.f16 s0, s2, s1 306# CHECK-NEXT: 1 5 1.00 vfnma.f32 s0, s2, s1 307# CHECK-NEXT: 1 14 1.00 vfnma.f64 d0, d2, d1 308# CHECK-NEXT: 1 5 1.00 vfnms.f16 s0, s2, s1 309# CHECK-NEXT: 1 5 1.00 vfnms.f32 s0, s2, s1 310# CHECK-NEXT: 1 14 1.00 vfnms.f64 d0, d2, d1 311# CHECK-NEXT: 1 1 1.00 vins.f16 s0, s1 312# CHECK-NEXT: 1 1 1.00 vmaxnm.f16 s0, s2, s1 313# CHECK-NEXT: 1 1 1.00 vmaxnm.f32 s0, s2, s1 314# CHECK-NEXT: 1 1 1.00 vmaxnm.f64 d0, d2, d1 315# CHECK-NEXT: 1 1 1.00 vminnm.f16 s0, s2, s1 316# CHECK-NEXT: 1 1 1.00 vminnm.f32 s0, s2, s1 317# CHECK-NEXT: 1 1 1.00 vminnm.f64 d0, d2, d1 318# CHECK-NEXT: 1 5 1.00 vmla.f16 s0, s2, s1 319# CHECK-NEXT: 1 5 1.00 vmla.f32 s0, s2, s1 320# CHECK-NEXT: 1 14 1.00 vmla.f64 d0, d2, d1 321# CHECK-NEXT: 1 5 1.00 vmls.f16 s0, s2, s1 322# CHECK-NEXT: 1 5 1.00 vmls.f32 s0, s2, s1 323# CHECK-NEXT: 1 14 1.00 vmls.f64 d0, d2, d1 324# CHECK-NEXT: 1 1 1.00 vmov.f16 s0, r1 325# CHECK-NEXT: 1 2 1.00 vmov.f16 r0, s1 326# CHECK-NEXT: 1 1 1.00 vmov s0, r1 327# CHECK-NEXT: 1 2 1.00 vmov r0, s1 328# CHECK-NEXT: 1 1 1.00 vmov d0, r1, r2 329# CHECK-NEXT: 1 2 1.00 vmov r0, r1, d1 330# CHECK-NEXT: 1 1 1.00 vmov s0, s1, r0, r1 331# CHECK-NEXT: 1 2 1.00 vmov r0, r1, s0, s1 332# CHECK-NEXT: 1 1 1.00 vmov.f16 s0, #1.000000e+00 333# CHECK-NEXT: 1 1 1.00 vmov.f32 s0, #1.000000e+00 334# CHECK-NEXT: 1 1 1.00 vmov.f64 d0, #1.000000e+00 335# CHECK-NEXT: 1 1 1.00 vmov.f32 s0, s1 336# CHECK-NEXT: 1 1 1.00 vmov.f64 d0, d1 337# CHECK-NEXT: 1 1 1.00 vmovx.f16 s0, s1 338# CHECK-NEXT: 1 3 1.00 vmul.f16 s0, s2, s1 339# CHECK-NEXT: 1 3 1.00 vmul.f32 s0, s2, s1 340# CHECK-NEXT: 1 8 1.00 vmul.f64 d0, d2, d1 341# CHECK-NEXT: 1 1 1.00 vneg.f16 s0, s2 342# CHECK-NEXT: 1 1 1.00 vneg.f32 s0, s2 343# CHECK-NEXT: 1 1 1.00 vneg.f64 d0, d2 344# CHECK-NEXT: 1 5 1.00 vnmla.f16 s0, s2, s1 345# CHECK-NEXT: 1 5 1.00 vnmla.f32 s0, s2, s1 346# CHECK-NEXT: 1 14 1.00 vnmla.f64 d0, d2, d1 347# CHECK-NEXT: 1 5 1.00 vnmls.f16 s0, s2, s1 348# CHECK-NEXT: 1 5 1.00 vnmls.f32 s0, s2, s1 349# CHECK-NEXT: 1 14 1.00 vnmls.f64 d0, d2, d1 350# CHECK-NEXT: 1 3 1.00 vnmul.f16 s0, s2, s1 351# CHECK-NEXT: 1 3 1.00 vnmul.f32 s0, s2, s1 352# CHECK-NEXT: 1 8 1.00 vnmul.f64 d0, d2, d1 353# CHECK-NEXT: 1 2 1.00 vrinta.f16 s0, s2 354# CHECK-NEXT: 1 2 1.00 vrinta.f32 s0, s2 355# CHECK-NEXT: 1 2 1.00 vrinta.f64 d0, d2 356# CHECK-NEXT: 1 2 1.00 vrintm.f16 s0, s2 357# CHECK-NEXT: 1 2 1.00 vrintm.f32 s0, s2 358# CHECK-NEXT: 1 2 1.00 vrintm.f64 d0, d2 359# CHECK-NEXT: 1 2 1.00 vrintn.f16 s0, s2 360# CHECK-NEXT: 1 2 1.00 vrintn.f32 s0, s2 361# CHECK-NEXT: 1 2 1.00 vrintn.f64 d0, d2 362# CHECK-NEXT: 1 2 1.00 vrintp.f16 s0, s2 363# CHECK-NEXT: 1 2 1.00 vrintp.f32 s0, s2 364# CHECK-NEXT: 1 2 1.00 vrintp.f64 d0, d2 365# CHECK-NEXT: 1 2 1.00 vrintr.f16 s0, s2 366# CHECK-NEXT: 1 2 1.00 vrintr.f32 s0, s2 367# CHECK-NEXT: 1 2 1.00 vrintr.f64 d0, d2 368# CHECK-NEXT: 1 2 1.00 vrintz.f16 s0, s2 369# CHECK-NEXT: 1 2 1.00 vrintz.f32 s0, s2 370# CHECK-NEXT: 1 2 1.00 vrintz.f64 d0, d2 371# CHECK-NEXT: 1 2 1.00 vrintx.f16 s0, s2 372# CHECK-NEXT: 1 2 1.00 vrintx.f32 s0, s2 373# CHECK-NEXT: 1 2 1.00 vrintx.f64 d0, d2 374# CHECK-NEXT: 1 2 1.00 vseleq.f16 s0, s2, s1 375# CHECK-NEXT: 1 2 1.00 vseleq.f32 s0, s2, s1 376# CHECK-NEXT: 1 2 1.00 vseleq.f64 d0, d2, d1 377# CHECK-NEXT: 1 8 1.00 vsqrt.f16 s0, s2 378# CHECK-NEXT: 1 14 1.00 vsqrt.f32 s0, s2 379# CHECK-NEXT: 1 29 1.00 vsqrt.f64 d0, d2 380# CHECK-NEXT: 1 2 1.00 vsub.f16 s0, s2, s1 381# CHECK-NEXT: 1 2 1.00 vsub.f32 s0, s2, s1 382# CHECK-NEXT: 1 6 1.00 vsub.f64 d0, d2, d1 383# CHECK-NEXT: 1 2 1.00 * vldr d0, [r0] 384# CHECK-NEXT: 1 2 0.50 * vldr s0, [r0] 385# CHECK-NEXT: 1 2 0.50 * vldr.16 s0, [r0] 386# CHECK-NEXT: 1 2 1.00 * vstr d0, [r0] 387# CHECK-NEXT: 1 2 0.50 * vstr s0, [r0] 388# CHECK-NEXT: 1 2 0.50 * vstr.16 s0, [r0] 389 390# CHECK: Resources: 391# CHECK-NEXT: [0.0] - M85UnitALU 392# CHECK-NEXT: [0.1] - M85UnitALU 393# CHECK-NEXT: [1] - M85UnitBranch 394# CHECK-NEXT: [2] - M85UnitDiv 395# CHECK-NEXT: [3] - M85UnitLShift 396# CHECK-NEXT: [4] - M85UnitLoadH 397# CHECK-NEXT: [5] - M85UnitLoadL 398# CHECK-NEXT: [6] - M85UnitMAC 399# CHECK-NEXT: [7] - M85UnitSIMD 400# CHECK-NEXT: [8] - M85UnitShift1 401# CHECK-NEXT: [9] - M85UnitShift2 402# CHECK-NEXT: [10] - M85UnitSlot0 403# CHECK-NEXT: [11] - M85UnitStoreH 404# CHECK-NEXT: [12] - M85UnitStoreL 405# CHECK-NEXT: [13] - M85UnitVFPAH 406# CHECK-NEXT: [14] - M85UnitVFPAL 407# CHECK-NEXT: [15] - M85UnitVFPBH 408# CHECK-NEXT: [16] - M85UnitVFPBL 409# CHECK-NEXT: [17] - M85UnitVFPCH 410# CHECK-NEXT: [18] - M85UnitVFPCL 411# CHECK-NEXT: [19] - M85UnitVFPD 412# CHECK-NEXT: [20] - M85UnitVPortH 413# CHECK-NEXT: [21] - M85UnitVPortL 414 415# CHECK: Resource pressure per iteration: 416# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] 417# CHECK-NEXT: - - - - - 2.00 2.00 - - - - 181.00 2.00 2.00 8.00 8.00 96.00 96.00 8.00 8.00 - 126.50 126.50 418 419# CHECK: Resource pressure by instruction: 420# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] Instructions: 421# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vabs.f16 s0, s2 422# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vabs.f32 s0, s2 423# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vabs.f64 d0, d2 424# CHECK-NEXT: - - - - - - - - - - - 1.00 - - 0.50 0.50 - - - - - 0.50 0.50 vadd.f16 s0, s2, s1 425# CHECK-NEXT: - - - - - - - - - - - 1.00 - - 0.50 0.50 - - - - - 0.50 0.50 vadd.f32 s0, s2, s1 426# CHECK-NEXT: - - - - - - - - - - - 1.00 - - 1.00 1.00 - - - - - 1.00 1.00 vadd.f64 d0, d2, d1 427# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - 0.50 0.50 - 0.50 0.50 vcmp.f16 s1, s2 428# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - 0.50 0.50 - 0.50 0.50 vcmp.f32 s1, s2 429# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - 1.00 1.00 - 1.00 1.00 vcmp.f64 d1, d2 430# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - 0.50 0.50 - 0.50 0.50 vcmp.f16 s1, #0 431# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - 0.50 0.50 - 0.50 0.50 vcmp.f32 s1, #0 432# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - 1.00 1.00 - 1.00 1.00 vcmp.f64 d1, #0 433# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - 0.50 0.50 - 0.50 0.50 vcmpe.f16 s1, s2 434# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - 0.50 0.50 - 0.50 0.50 vcmpe.f32 s1, s2 435# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - 1.00 1.00 - 1.00 1.00 vcmpe.f64 d1, d2 436# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - 0.50 0.50 - 0.50 0.50 vcmpe.f16 s1, #0 437# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - 0.50 0.50 - 0.50 0.50 vcmpe.f32 s1, #0 438# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - 1.00 1.00 - 1.00 1.00 vcmpe.f64 d1, #0 439# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvt.f32.f64 s1, d2 440# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvt.f64.f32 d1, s1 441# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.f16.u16 s1, s1, #8 442# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.f16.s16 s1, s1, #8 443# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.f16.u32 s1, s1, #8 444# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.f16.s32 s1, s1, #8 445# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.u16.f16 s1, s1, #8 446# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.s16.f16 s1, s1, #8 447# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.u32.f16 s1, s1, #8 448# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.s32.f16 s1, s1, #8 449# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.f32.u16 s1, s1, #8 450# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.f32.s16 s1, s1, #8 451# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.f32.u32 s1, s1, #8 452# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.f32.s32 s1, s1, #8 453# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.u16.f32 s1, s1, #8 454# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.s16.f32 s1, s1, #8 455# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.u32.f32 s1, s1, #8 456# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.s32.f32 s1, s1, #8 457# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvt.f64.u16 d1, d1, #8 458# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvt.f64.s16 d1, d1, #8 459# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvt.f64.u32 d1, d1, #8 460# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvt.f64.s32 d1, d1, #8 461# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvt.u16.f64 d1, d1, #8 462# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvt.s16.f64 d1, d1, #8 463# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvt.u32.f64 d1, d1, #8 464# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvt.s32.f64 d1, d1, #8 465# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.u32.f16 s1, s2 466# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.s32.f16 s1, s2 467# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.u32.f32 s1, s2 468# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.s32.f32 s1, s2 469# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvt.u32.f64 s1, d2 470# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvt.s32.f64 s1, d2 471# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.f16.u32 s1, s2 472# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.f16.s32 s1, s2 473# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.f32.u32 s1, s2 474# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvt.f32.s32 s1, s2 475# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvt.f64.u32 d1, s2 476# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvt.f64.s32 d1, s2 477# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvta.u32.f16 s1, s2 478# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvta.s32.f16 s1, s2 479# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvta.u32.f32 s1, s2 480# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvta.s32.f32 s1, s2 481# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvta.u32.f64 s1, d2 482# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvta.s32.f64 s1, d2 483# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvtm.u32.f16 s1, s2 484# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvtm.s32.f16 s1, s2 485# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvtm.u32.f32 s1, s2 486# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvtm.s32.f32 s1, s2 487# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvtm.u32.f64 s1, d2 488# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvtm.s32.f64 s1, d2 489# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvtn.u32.f16 s1, s2 490# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvtn.s32.f16 s1, s2 491# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvtn.u32.f32 s1, s2 492# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvtn.s32.f32 s1, s2 493# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvtn.u32.f64 s1, d2 494# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvtn.s32.f64 s1, d2 495# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvtp.u32.f16 s1, s2 496# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvtp.s32.f16 s1, s2 497# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvtp.u32.f32 s1, s2 498# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvtp.s32.f32 s1, s2 499# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvtp.u32.f64 s1, d2 500# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvtp.s32.f64 s1, d2 501# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvtb.f16.f32 s1, s2 502# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvtb.f16.f64 s1, d2 503# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvtb.f32.f16 s1, s2 504# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvtb.f64.f16 d1, s2 505# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvtr.u32.f16 s1, s2 506# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvtr.s32.f16 s1, s2 507# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvtr.u32.f32 s1, s2 508# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvtr.s32.f32 s1, s2 509# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvtr.u32.f64 s1, d2 510# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvtr.s32.f64 s1, d2 511# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvtt.f16.f32 s1, s2 512# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvtt.f16.f64 s1, d2 513# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vcvtt.f32.f16 s1, s2 514# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vcvtt.f64.f16 d1, s2 515# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vdiv.f16 s0, s2, s1 516# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vdiv.f32 s0, s2, s1 517# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vdiv.f64 d0, d2, d1 518# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vfma.f16 s0, s2, s1 519# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vfma.f32 s0, s2, s1 520# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vfma.f64 d0, d2, d1 521# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vfms.f16 s0, s2, s1 522# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vfms.f32 s0, s2, s1 523# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vfms.f64 d0, d2, d1 524# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vfnma.f16 s0, s2, s1 525# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vfnma.f32 s0, s2, s1 526# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vfnma.f64 d0, d2, d1 527# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vfnms.f16 s0, s2, s1 528# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vfnms.f32 s0, s2, s1 529# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vfnms.f64 d0, d2, d1 530# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - 0.50 0.50 vins.f16 s0, s1 531# CHECK-NEXT: - - - - - - - - - - - 1.00 - - 0.50 0.50 - - - - - 0.50 0.50 vmaxnm.f16 s0, s2, s1 532# CHECK-NEXT: - - - - - - - - - - - 1.00 - - 0.50 0.50 - - - - - 0.50 0.50 vmaxnm.f32 s0, s2, s1 533# CHECK-NEXT: - - - - - - - - - - - 1.00 - - 1.00 1.00 - - - - - 1.00 1.00 vmaxnm.f64 d0, d2, d1 534# CHECK-NEXT: - - - - - - - - - - - 1.00 - - 0.50 0.50 - - - - - 0.50 0.50 vminnm.f16 s0, s2, s1 535# CHECK-NEXT: - - - - - - - - - - - 1.00 - - 0.50 0.50 - - - - - 0.50 0.50 vminnm.f32 s0, s2, s1 536# CHECK-NEXT: - - - - - - - - - - - 1.00 - - 1.00 1.00 - - - - - 1.00 1.00 vminnm.f64 d0, d2, d1 537# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vmla.f16 s0, s2, s1 538# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vmla.f32 s0, s2, s1 539# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vmla.f64 d0, d2, d1 540# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vmls.f16 s0, s2, s1 541# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vmls.f32 s0, s2, s1 542# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vmls.f64 d0, d2, d1 543# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - 0.50 0.50 vmov.f16 s0, r1 544# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - 0.50 0.50 vmov.f16 r0, s1 545# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - 0.50 0.50 vmov s0, r1 546# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - 0.50 0.50 vmov r0, s1 547# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - 1.00 1.00 vmov d0, r1, r2 548# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - 1.00 1.00 vmov r0, r1, d1 549# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - 1.00 1.00 vmov s0, s1, r0, r1 550# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - 1.00 1.00 vmov r0, r1, s0, s1 551# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - 0.50 0.50 vmov.f16 s0, #1.000000e+00 552# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - 0.50 0.50 vmov.f32 s0, #1.000000e+00 553# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - 1.00 1.00 vmov.f64 d0, #1.000000e+00 554# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - 0.50 0.50 vmov.f32 s0, s1 555# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - 1.00 1.00 vmov.f64 d0, d1 556# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - - - - - - 0.50 0.50 vmovx.f16 s0, s1 557# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vmul.f16 s0, s2, s1 558# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vmul.f32 s0, s2, s1 559# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vmul.f64 d0, d2, d1 560# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vneg.f16 s0, s2 561# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vneg.f32 s0, s2 562# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vneg.f64 d0, d2 563# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vnmla.f16 s0, s2, s1 564# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vnmla.f32 s0, s2, s1 565# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vnmla.f64 d0, d2, d1 566# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vnmls.f16 s0, s2, s1 567# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vnmls.f32 s0, s2, s1 568# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vnmls.f64 d0, d2, d1 569# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vnmul.f16 s0, s2, s1 570# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vnmul.f32 s0, s2, s1 571# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vnmul.f64 d0, d2, d1 572# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vrinta.f16 s0, s2 573# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vrinta.f32 s0, s2 574# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vrinta.f64 d0, d2 575# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vrintm.f16 s0, s2 576# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vrintm.f32 s0, s2 577# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vrintm.f64 d0, d2 578# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vrintn.f16 s0, s2 579# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vrintn.f32 s0, s2 580# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vrintn.f64 d0, d2 581# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vrintp.f16 s0, s2 582# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vrintp.f32 s0, s2 583# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vrintp.f64 d0, d2 584# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vrintr.f16 s0, s2 585# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vrintr.f32 s0, s2 586# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vrintr.f64 d0, d2 587# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vrintz.f16 s0, s2 588# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vrintz.f32 s0, s2 589# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vrintz.f64 d0, d2 590# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vrintx.f16 s0, s2 591# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vrintx.f32 s0, s2 592# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vrintx.f64 d0, d2 593# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vseleq.f16 s0, s2, s1 594# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vseleq.f32 s0, s2, s1 595# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vseleq.f64 d0, d2, d1 596# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vsqrt.f16 s0, s2 597# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 0.50 0.50 - - - 0.50 0.50 vsqrt.f32 s0, s2 598# CHECK-NEXT: - - - - - - - - - - - 1.00 - - - - 1.00 1.00 - - - 1.00 1.00 vsqrt.f64 d0, d2 599# CHECK-NEXT: - - - - - - - - - - - 1.00 - - 0.50 0.50 - - - - - 0.50 0.50 vsub.f16 s0, s2, s1 600# CHECK-NEXT: - - - - - - - - - - - 1.00 - - 0.50 0.50 - - - - - 0.50 0.50 vsub.f32 s0, s2, s1 601# CHECK-NEXT: - - - - - - - - - - - 1.00 - - 1.00 1.00 - - - - - 1.00 1.00 vsub.f64 d0, d2, d1 602# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - 1.00 1.00 vldr d0, [r0] 603# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - 0.50 0.50 vldr s0, [r0] 604# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - 0.50 0.50 vldr.16 s0, [r0] 605# CHECK-NEXT: - - - - - - - - - - - - 1.00 1.00 - - - - - - - 1.00 1.00 vstr d0, [r0] 606# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - 0.50 0.50 vstr s0, [r0] 607# CHECK-NEXT: - - - - - - - - - - - - 0.50 0.50 - - - - - - - 0.50 0.50 vstr.16 s0, [r0] 608