brintos

brintos / llvm-project-archived public Read only

0
0
Text · 16.9 KiB · 6ee6790 Raw
427 lines · plain
1# RUN: not llvm-mc -triple=thumbv8.1m.main-none-eabi -mattr=+mve -show-encoding  < %s \2# RUN:   | FileCheck --check-prefix=CHECK-NOFP %s3# RUN: not llvm-mc -triple=thumbv8.1m.main-none-eabi -mattr=+mve.fp,+fp64 -show-encoding  < %s 2>%t \4# RUN:   | FileCheck --check-prefix=CHECK %s5# RUN:     FileCheck --check-prefix=ERROR < %t %s6 7# CHECK: vrintn.f16 q1, q0  @ encoding: [0xb6,0xff,0x40,0x24]8# CHECK-NOFP-NOT: vrintn.f16 q1, q0  @ encoding: [0xb6,0xff,0x40,0x24]9vrintn.f16 q1, q010 11# CHECK: vrintn.f32 q0, q4  @ encoding: [0xba,0xff,0x48,0x04]12# CHECK-NOFP-NOT: vrintn.f32 q0, q4  @ encoding: [0xba,0xff,0x48,0x04]13vrintn.f32 q0, q414 15# CHECK: vrinta.f16 q0, q1  @ encoding: [0xb6,0xff,0x42,0x05]16# CHECK-NOFP-NOT: vrinta.f16 q0, q1  @ encoding: [0xb6,0xff,0x42,0x05]17vrinta.f16 q0, q118 19# CHECK: vrinta.f32 q1, q3  @ encoding: [0xba,0xff,0x46,0x25]20# CHECK-NOFP-NOT: vrinta.f32 q1, q3  @ encoding: [0xba,0xff,0x46,0x25]21vrinta.f32 q1, q322 23# CHECK: vrintm.f16 q0, q5  @ encoding: [0xb6,0xff,0xca,0x06]24# CHECK-NOFP-NOT: vrintm.f16 q0, q5  @ encoding: [0xb6,0xff,0xca,0x06]25vrintm.f16 q0, q526 27# CHECK: vrintm.f32 q0, q4  @ encoding: [0xba,0xff,0xc8,0x06]28# CHECK-NOFP-NOT: vrintm.f32 q0, q4  @ encoding: [0xba,0xff,0xc8,0x06]29vrintm.f32 q0, q430 31# CHECK: vrintp.f16 q1, q0  @ encoding: [0xb6,0xff,0xc0,0x27]32# CHECK-NOFP-NOT: vrintp.f16 q1, q0  @ encoding: [0xb6,0xff,0xc0,0x27]33vrintp.f16 q1, q034 35# CHECK: vrintp.f32 q0, q1  @ encoding: [0xba,0xff,0xc2,0x07]36# CHECK-NOFP-NOT: vrintp.f32 q0, q1  @ encoding: [0xba,0xff,0xc2,0x07]37vrintp.f32 q0, q138 39# CHECK: vrintx.f16 q1, q2  @ encoding: [0xb6,0xff,0xc4,0x24]40# CHECK-NOFP-NOT: vrintx.f16 q1, q2  @ encoding: [0xb6,0xff,0xc4,0x24]41vrintx.f16 q1, q242 43# CHECK: vrintx.f32 q1, q1  @ encoding: [0xba,0xff,0xc2,0x24]44# CHECK-NOFP-NOT: vrintx.f32 q1, q1  @ encoding: [0xba,0xff,0xc2,0x24]45vrintx.f32 q1, q146 47# CHECK: vrintz.f16 q1, q6  @ encoding: [0xb6,0xff,0xcc,0x25]48# CHECK-NOFP-NOT: vrintz.f16 q1, q6  @ encoding: [0xb6,0xff,0xcc,0x25]49vrintz.f16 q1, q650 51# CHECK: vrintz.f32 q1, q0  @ encoding: [0xba,0xff,0xc0,0x25]52# CHECK-NOFP-NOT: vrintz.f32 q1, q0  @ encoding: [0xba,0xff,0xc0,0x25]53vrintz.f32 q1, q054 55# CHECK: vrintr.f32 s0, s1 @ encoding: [0xb6,0xee,0x60,0x0a]56# CHECK-NOFP-NOT: vrintr.f32 s0, s1 @ encoding: [0xb6,0xee,0x60,0x0a]57vrintr.f32.f32 s0, s158 59# CHECK: vrintr.f64 d0, d1 @ encoding: [0xb6,0xee,0x41,0x0b]60# CHECK-NOFP-NOT: vrintr.f64 d0, d1 @ encoding: [0xb6,0xee,0x41,0x0b]61vrintr.f64.f64 d0, d162 63# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: invalid instruction64vrintr.f32.f32 q0, q165 66# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: invalid instruction67vrintr.f64 q0, q168 69# CHECK: vmul.f16 q2, q1, q3  @ encoding: [0x12,0xff,0x56,0x4d]70# CHECK-NOFP-NOT: vmul.f16 q2, q1, q3  @ encoding: [0x12,0xff,0x56,0x4d]71vmul.f16 q2, q1, q372 73# CHECK: vmul.f32 q0, q0, q5  @ encoding: [0x00,0xff,0x5a,0x0d]74# CHECK-NOFP-NOT: vmul.f32 q0, q0, q5  @ encoding: [0x00,0xff,0x5a,0x0d]75vmul.f32 q0, q0, q576 77# CHECK: vcmla.f16 q3, q2, q1, #0  @ encoding: [0x24,0xfc,0x42,0x68]78# CHECK-NOFP-NOT: vcmla.f16 q3, q2, q1, #0  @ encoding: [0x24,0xfc,0x42,0x68]79vcmla.f16 q3, q2, q1, #080 81# CHECK: vcmla.f16 q0, q0, q5, #90  @ encoding: [0xa0,0xfc,0x4a,0x08]82# CHECK-NOFP-NOT: vcmla.f16 q0, q0, q5, #90  @ encoding: [0xa0,0xfc,0x4a,0x08]83vcmla.f16 q0, q0, q5, #9084 85# CHECK: vcmla.f16 q3, q7, q2, #180  @ encoding: [0x2e,0xfd,0x44,0x68]86# CHECK-NOFP-NOT: vcmla.f16 q3, q7, q2, #180  @ encoding: [0x2e,0xfd,0x44,0x68]87vcmla.f16 q3, q7, q2, #18088 89# CHECK: vcmla.f16 q2, q7, q6, #270  @ encoding: [0xae,0xfd,0x4c,0x48]90# CHECK-NOFP-NOT: vcmla.f16 q2, q7, q6, #270  @ encoding: [0xae,0xfd,0x4c,0x48]91vcmla.f16 q2, q7, q6, #27092 93# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: complex rotation must be 0, 90, 180 or 27094vcmla.f16 q3, q2, q1, #20095 96# CHECK: vcmla.f32 q2, q6, q6, #0  @ encoding: [0x3c,0xfc,0x4c,0x48]97# CHECK-NOFP-NOT: vcmla.f32 q2, q6, q6, #0  @ encoding: [0x3c,0xfc,0x4c,0x48]98vcmla.f32 q2, q6, q6, #099 100# CHECK: vcmla.f32 q7, q1, q3, #90  @ encoding: [0xb2,0xfc,0x46,0xe8]101# CHECK-NOFP-NOT: vcmla.f32 q7, q1, q3, #90  @ encoding: [0xb2,0xfc,0x46,0xe8]102vcmla.f32 q7, q1, q3, #90103 104# CHECK: vcmla.f32 q4, q5, q3, #180  @ encoding: [0x3a,0xfd,0x46,0x88]105# CHECK-NOFP-NOT: vcmla.f32 q4, q5, q3, #180  @ encoding: [0x3a,0xfd,0x46,0x88]106vcmla.f32 q4, q5, q3, #180107 108# CHECK: vcmla.f32 q3, q2, q7, #270  @ encoding: [0xb4,0xfd,0x4e,0x68]109# CHECK-NOFP-NOT: vcmla.f32 q3, q2, q7, #270  @ encoding: [0xb4,0xfd,0x4e,0x68]110vcmla.f32 q3, q2, q7, #270111 112# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: complex rotation must be 0, 90, 180 or 270113vcmla.f32 q3, q2, q1, #16114 115# CHECK: vfma.f16 q0, q2, q3  @ encoding: [0x14,0xef,0x56,0x0c]116# CHECK-NOFP-NOT: vfma.f16 q0, q2, q3  @ encoding: [0x14,0xef,0x56,0x0c]117vfma.f16 q0, q2, q3118 119# CHECK: vfma.f32 q0, q3, q7  @ encoding: [0x06,0xef,0x5e,0x0c]120# CHECK-NOFP-NOT: vfma.f32 q0, q3, q7  @ encoding: [0x06,0xef,0x5e,0x0c]121vfma.f32 q0, q3, q7122 123# CHECK: vfms.f16 q0, q2, q5  @ encoding: [0x34,0xef,0x5a,0x0c]124# CHECK-NOFP-NOT: vfms.f16 q0, q2, q5  @ encoding: [0x34,0xef,0x5a,0x0c]125vfms.f16 q0, q2, q5126 127# CHECK: vfms.f32 q1, q1, q2  @ encoding: [0x22,0xef,0x54,0x2c]128# CHECK-NOFP-NOT: vfms.f32 q1, q1, q2  @ encoding: [0x22,0xef,0x54,0x2c]129vfms.f32 q1, q1, q2130 131# CHECK: vadd.f16 q0, q0, q5  @ encoding: [0x10,0xef,0x4a,0x0d]132# CHECK-NOFP-NOT: vadd.f16 q0, q0, q5  @ encoding: [0x10,0xef,0x4a,0x0d]133vadd.f16 q0, q0, q5134 135# CHECK: vadd.f32 q1, q3, q0  @ encoding: [0x06,0xef,0x40,0x2d]136# CHECK-NOFP-NOT: vadd.f32 q1, q3, q0  @ encoding: [0x06,0xef,0x40,0x2d]137vadd.f32 q1, q3, q0138 139# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: invalid instruction140vaddeq.f32 q0, q1, q2141 142# CHECK:  vadd.f32  q0, q1, q2 @ encoding: [0x02,0xef,0x44,0x0d]143# CHECK-NOFP-NOT:  vadd.f32  q0, q1, q2 @ encoding: [0x02,0xef,0x44,0x0d]144vadd.f32 q0, q1, q2145 146# CHECK: vcadd.f16 q2, q1, q7, #90  @ encoding: [0x82,0xfc,0x4e,0x48]147# CHECK-NOFP-NOT: vcadd.f16 q2, q1, q7, #90  @ encoding: [0x82,0xfc,0x4e,0x48]148vcadd.f16 q2, q1, q7, #90149 150# CHECK: vcadd.f16 q2, q5, q7, #270  @ encoding: [0x8a,0xfd,0x4e,0x48]151# CHECK-NOFP-NOT: vcadd.f16 q2, q5, q7, #270  @ encoding: [0x8a,0xfd,0x4e,0x48]152vcadd.f16 q2, q5, q7, #270153 154# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: complex rotation must be 90 or 270155vcadd.f16 q2, q5, q7, #180156 157# CHECK: vcadd.f32 q0, q4, q7, #90  @ encoding: [0x98,0xfc,0x4e,0x08]158# CHECK-NOFP-NOT: vcadd.f32 q0, q4, q7, #90  @ encoding: [0x98,0xfc,0x4e,0x08]159vcadd.f32 q0, q4, q7, #90160 161# CHECK: vcadd.f32 q2, q2, q3, #270  @ encoding: [0x94,0xfd,0x46,0x48]162# CHECK-NOFP-NOT: vcadd.f32 q2, q2, q3, #270  @ encoding: [0x94,0xfd,0x46,0x48]163vcadd.f32 q2, q2, q3, #270164 165# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: complex rotation must be 90 or 270166vcadd.f32 q2, q5, q7, #0167 168# CHECK: vabd.f16 q0, q0, q6  @ encoding: [0x30,0xff,0x4c,0x0d]169# CHECK-NOFP-NOT: vabd.f16 q0, q0, q6  @ encoding: [0x30,0xff,0x4c,0x0d]170vabd.f16 q0, q0, q6171 172# CHECK: vabd.f32 q0, q1, q4  @ encoding: [0x22,0xff,0x48,0x0d]173# CHECK-NOFP-NOT: vabd.f32 q0, q1, q4  @ encoding: [0x22,0xff,0x48,0x0d]174vabd.f32 q0, q1, q4175 176# CHECK: vcvt.f16.s16 q1, q7, #1  @ encoding: [0xbf,0xef,0x5e,0x2c]177# CHECK-NOFP-NOT: vcvt.f16.s16 q1, q7, #1  @ encoding: [0xbf,0xef,0x5e,0x2c]178vcvt.f16.s16 q1, q7, #1179 180# CHECK: vcvt.f16.s16 q1, q7, #16  @ encoding: [0xb0,0xef,0x5e,0x2c]181# CHECK-NOFP-NOT: vcvt.f16.s16 q1, q7, #16  @ encoding: [0xb0,0xef,0x5e,0x2c]182vcvt.f16.s16 q1, q7, #16183 184# CHECK: vcvt.f16.s16 q1, q7, #11  @ encoding: [0xb5,0xef,0x5e,0x2c]185# CHECK-NOFP-NOT: vcvt.f16.s16 q1, q7, #11  @ encoding: [0xb5,0xef,0x5e,0x2c]186vcvt.f16.s16 q1, q7, #11187 188# CHECK: vcvt.s16.f16 q1, q1, #3  @ encoding: [0xbd,0xef,0x52,0x2d]189# CHECK-NOFP-NOT: vcvt.s16.f16 q1, q1, #3  @ encoding: [0xbd,0xef,0x52,0x2d]190vcvt.s16.f16 q1, q1, #3191 192# CHECK: vcvt.f16.u16 q2, q1, #10  @ encoding: [0xb6,0xff,0x52,0x4c]193# CHECK-NOFP-NOT: vcvt.f16.u16 q2, q1, #10  @ encoding: [0xb6,0xff,0x52,0x4c]194vcvt.f16.u16 q2, q1, #10195 196# CHECK: vcvt.u16.f16 q0, q0, #3  @ encoding: [0xbd,0xff,0x50,0x0d]197# CHECK-NOFP-NOT: vcvt.u16.f16 q0, q0, #3  @ encoding: [0xbd,0xff,0x50,0x0d]198vcvt.u16.f16 q0, q0, #3199 200# CHECK: vcvt.f32.s32 q1, q7, #1  @ encoding: [0xbf,0xef,0x5e,0x2e]201# CHECK-NOFP-NOT: vcvt.f32.s32 q1, q7, #1  @ encoding: [0xbf,0xef,0x5e,0x2e]202vcvt.f32.s32 q1, q7, #1203 204# CHECK: vcvt.f32.s32 q1, q7, #32  @ encoding: [0xa0,0xef,0x5e,0x2e]205# CHECK-NOFP-NOT: vcvt.f32.s32 q1, q7, #32  @ encoding: [0xa0,0xef,0x5e,0x2e]206vcvt.f32.s32 q1, q7, #32207 208# CHECK: vcvt.f32.s32 q1, q7, #6  @ encoding: [0xba,0xef,0x5e,0x2e]209# CHECK-NOFP-NOT: vcvt.f32.s32 q1, q7, #6  @ encoding: [0xba,0xef,0x5e,0x2e]210vcvt.f32.s32 q1, q7, #6211 212# CHECK: vcvt.s32.f32 q1, q0, #21  @ encoding: [0xab,0xef,0x50,0x2f]213# CHECK-NOFP-NOT: vcvt.s32.f32 q1, q0, #21  @ encoding: [0xab,0xef,0x50,0x2f]214vcvt.s32.f32 q1, q0, #21215 216# CHECK: vcvt.f32.u32 q1, q4, #4  @ encoding: [0xbc,0xff,0x58,0x2e]217# CHECK-NOFP-NOT: vcvt.f32.u32 q1, q4, #4  @ encoding: [0xbc,0xff,0x58,0x2e]218vcvt.f32.u32 q1, q4, #4219 220# CHECK: vcvt.u32.f32 q1, q5, #8  @ encoding: [0xb8,0xff,0x5a,0x2f]221# CHECK-NOFP-NOT: vcvt.u32.f32 q1, q5, #8  @ encoding: [0xb8,0xff,0x5a,0x2f]222vcvt.u32.f32 q1, q5, #8223 224# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: MVE fixed-point immediate operand must be between 1 and 16225vcvt.f16.s16 q0, q1, #-1226 227# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: MVE fixed-point immediate operand must be between 1 and 16228vcvt.f16.s16 q0, q1, #0229 230# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: MVE fixed-point immediate operand must be between 1 and 16231vcvt.f16.s16 q0, q1, #17232 233# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: MVE fixed-point immediate operand must be between 1 and 32234vcvt.f32.s32 q0, q1, #-1235 236# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: MVE fixed-point immediate operand must be between 1 and 32237vcvt.f32.s32 q0, q1, #0238 239# ERROR: [[@LINE+1]]:{{[0-9]+}}: {{error|note}}: MVE fixed-point immediate operand must be between 1 and 32240vcvt.f32.s32 q0, q1, #33241 242# CHECK: vcvt.f16.s16 q0, q1  @ encoding: [0xb7,0xff,0x42,0x06]243# CHECK-NOFP-NOT: vcvt.f16.s16 q0, q1  @ encoding: [0xb7,0xff,0x42,0x06]244vcvt.f16.s16 q0, q1245 246# CHECK: vcvt.f16.u16 q0, q4  @ encoding: [0xb7,0xff,0xc8,0x06]247# CHECK-NOFP-NOT: vcvt.f16.u16 q0, q4  @ encoding: [0xb7,0xff,0xc8,0x06]248vcvt.f16.u16 q0, q4249 250# CHECK: vcvt.s16.f16 q0, q0  @ encoding: [0xb7,0xff,0x40,0x07]251# CHECK-NOFP-NOT: vcvt.s16.f16 q0, q0  @ encoding: [0xb7,0xff,0x40,0x07]252vcvt.s16.f16 q0, q0253 254# CHECK: vcvt.u16.f16 q0, q0  @ encoding: [0xb7,0xff,0xc0,0x07]255# CHECK-NOFP-NOT: vcvt.u16.f16 q0, q0  @ encoding: [0xb7,0xff,0xc0,0x07]256vcvt.u16.f16 q0, q0257 258# CHECK: vcvt.f32.s32 q0, q0  @ encoding: [0xbb,0xff,0x40,0x06]259# CHECK-NOFP-NOT: vcvt.f32.s32 q0, q0  @ encoding: [0xbb,0xff,0x40,0x06]260vcvt.f32.s32 q0, q0261 262# CHECK: vcvt.f32.u32 q0, q0  @ encoding: [0xbb,0xff,0xc0,0x06]263# CHECK-NOFP-NOT: vcvt.f32.u32 q0, q0  @ encoding: [0xbb,0xff,0xc0,0x06]264vcvt.f32.u32 q0, q0265 266# CHECK: vcvt.s32.f32 q0, q0  @ encoding: [0xbb,0xff,0x40,0x07]267# CHECK-NOFP-NOT: vcvt.s32.f32 q0, q0  @ encoding: [0xbb,0xff,0x40,0x07]268vcvt.s32.f32 q0, q0269 270# CHECK: vcvt.u32.f32 q0, q2  @ encoding: [0xbb,0xff,0xc4,0x07]271# CHECK-NOFP-NOT: vcvt.u32.f32 q0, q2  @ encoding: [0xbb,0xff,0xc4,0x07]272vcvt.u32.f32 q0, q2273 274# CHECK: vcvta.s16.f16 q0, q7  @ encoding: [0xb7,0xff,0x4e,0x00]275# CHECK-NOFP-NOT: vcvta.s16.f16 q0, q7  @ encoding: [0xb7,0xff,0x4e,0x00]276vcvta.s16.f16 q0, q7277 278# CHECK: vcvta.s32.f32 s2, s3 @ encoding: [0xbc,0xfe,0xe1,0x1a]279# CHECK-NOFP-NOT: vcvta.s32.f32 s2, s3 @ encoding: [0xbc,0xfe,0xe1,0x1a]280vcvta.s32.f32 s2, s3281 282# CHECK: vcvta.s16.f16 q0, q7 @ encoding: [0xb7,0xff,0x4e,0x00]283# CHECK-NOFP-NOT: vcvta.s16.f16 q0, q7 @ encoding: [0xb7,0xff,0x4e,0x00]284vcvta.s16.f16 q0, q7285 286# CHECK: vcvtn.u32.f32 q7, q6  @ encoding: [0xbb,0xff,0xcc,0xe1]287# CHECK-NOFP-NOT: vcvtn.u32.f32 q7, q6  @ encoding: [0xbb,0xff,0xcc,0xe1]288vcvtn.u32.f32 q7, q6289 290# CHECK: vcvtp.s32.f32 q0, q7  @ encoding: [0xbb,0xff,0x4e,0x02]291# CHECK-NOFP-NOT: vcvtp.s32.f32 q0, q7  @ encoding: [0xbb,0xff,0x4e,0x02]292vcvtp.s32.f32 q0, q7293 294# CHECK: vcvtm.u32.f32 q1, q4  @ encoding: [0xbb,0xff,0xc8,0x23]295# CHECK-NOFP-NOT: vcvtm.u32.f32 q1, q4  @ encoding: [0xbb,0xff,0xc8,0x23]296vcvtm.u32.f32 q1, q4297 298# CHECK: vneg.f16 q0, q7  @ encoding: [0xb5,0xff,0xce,0x07]299# CHECK-NOFP-NOT: vneg.f16 q0, q7  @ encoding: [0xb5,0xff,0xce,0x07]300vneg.f16 q0, q7301 302# CHECK: vneg.f32 q0, q2  @ encoding: [0xb9,0xff,0xc4,0x07]303# CHECK-NOFP-NOT: vneg.f32 q0, q2  @ encoding: [0xb9,0xff,0xc4,0x07]304vneg.f32 q0, q2305 306# CHECK: vabs.f16 q0, q2  @ encoding: [0xb5,0xff,0x44,0x07]307# CHECK-NOFP-NOT: vabs.f16 q0, q2  @ encoding: [0xb5,0xff,0x44,0x07]308vabs.f16 q0, q2309 310# CHECK: vabs.f32 q0, q0  @ encoding: [0xb9,0xff,0x40,0x07]311# CHECK-NOFP-NOT: vabs.f32 q0, q0  @ encoding: [0xb9,0xff,0x40,0x07]312vabs.f32 q0, q0313 314# CHECK: vmaxnma.f16 q1, q1  @ encoding: [0x3f,0xfe,0x83,0x2e]315# CHECK-NOFP-NOT: vmaxnma.f16 q1, q1  @ encoding: [0x3f,0xfe,0x83,0x2e]316vmaxnma.f16 q1, q1317 318# CHECK: vmaxnma.f32 q2, q6  @ encoding: [0x3f,0xee,0x8d,0x4e]319# CHECK-NOFP-NOT: vmaxnma.f32 q2, q6  @ encoding: [0x3f,0xee,0x8d,0x4e]320vmaxnma.f32 q2, q6321 322# CHECK: vminnma.f16 q0, q2  @ encoding: [0x3f,0xfe,0x85,0x1e]323# CHECK-NOFP-NOT: vminnma.f16 q0, q2  @ encoding: [0x3f,0xfe,0x85,0x1e]324vminnma.f16 q0, q2325 326# CHECK: vminnma.f32 q0, q1  @ encoding: [0x3f,0xee,0x83,0x1e]327# CHECK-NOFP-NOT: vminnma.f32 q0, q1  @ encoding: [0x3f,0xee,0x83,0x1e]328vminnma.f32 q0, q1329 330it eq331vaddeq.f32 s0, s1332# CHECK:  it  eq @ encoding: [0x08,0xbf]333# CHECK: vaddeq.f32  s0, s0, s1 @ encoding: [0x30,0xee,0x20,0x0a]334# CHECK-NOFP-NOT: vaddeq.f32  s0, s0, s1 @ encoding: [0x30,0xee,0x20,0x0a]335 336vpst337vaddt.f16 q0, q1, q2338# CHECK: vpst @ encoding: [0x71,0xfe,0x4d,0x0f]339# CHECK: vaddt.f16 q0, q1, q2 @ encoding: [0x12,0xef,0x44,0x0d]340# CHECK-NOFP-NOT: vaddt.f16 q0, q1, q2 @ encoding: [0x12,0xef,0x44,0x0d]341 342vpste343vcvtmt.u32.f32 q0, q1344vcvtne.s32.f32 q0, q1345# CHECK: vpste @ encoding: [0x71,0xfe,0x4d,0x8f]346# CHECK: vtmt.u32.f32 q0, q1 @ encoding: [0xbb,0xff,0xc2,0x03]347# CHECK-NOFP-NOT: vtmt.u32.f32 q0, q1 @ encoding: [0xbb,0xff,0xc2,0x03]348# CHECK: vcvtne.s32.f32 q0, q1 @ encoding: [0xbb,0xff,0x42,0x01]349# CHECK-NOFP-NOT: vcvtne.s32.f32 q0, q1 @ encoding: [0xbb,0xff,0x42,0x01]350 351it ne352vcvtne.s32.f32 s0, s1353# CHECK: it ne @ encoding: [0x18,0xbf]354# CHECK: vcvtne.s32.f32 s0, s1 @ encoding: [0xbd,0xee,0xe0,0x0a]355# CHECK-NOFP-NOT: vcvtne.s32.f32 s0, s1 @ encoding: [0xbd,0xee,0xe0,0x0a]356 357it ge358vcvttge.f64.f16 d3, s1359# CHECK: it ge @ encoding: [0xa8,0xbf]360# CHECK: vcvttge.f64.f16 d3, s1 @ encoding: [0xb2,0xee,0xe0,0x3b]361# CHECK-NOFP-NOT: vcvttge.f64.f16 d3, s1 @ encoding: [0xb2,0xee,0xe0,0x3b]362 363# ----------------------------------------------------------------------364# The following tests have to go last because of the NOFP-NOT checks inside the365# VPT block.366 367vpte.f32 lt, q3, r1368vcvtt.u32.f32 q2, q0369vcvte.u32.f32 q1, q0370# CHECK: vpte.f32 lt, q3, r1      @ encoding: [0x77,0xee,0xc1,0x9f]371# CHECK-NOFP-NOT: vpte.f32 lt, q3, r1      @ encoding: [0x77,0xee,0xe1,0x8f]372# CHECK: vcvtt.u32.f32 q2, q0          @ encoding: [0xbb,0xff,0xc0,0x47]373# CHECK-NOFP-NOT: vcvtt.u32.f32 q2, q0          @ encoding: [0xbb,0xff,0xc0,0x47]374# CHECK: vcvte.u32.f32 q1, q0          @ encoding: [0xbb,0xff,0xc0,0x27]375# CHECK-NOFP-NOT: vcvte.u32.f32 q1, q0          @ encoding: [0xbb,0xff,0xc0,0x27]376 377ite eq378vcvteq.u32.f32 s0, s1379vcvtne.f32.u32 s0, s1380# CHECK: ite eq                      @ encoding: [0x0c,0xbf]381# CHECK: vcvteq.u32.f32 s0, s1          @ encoding: [0xbc,0xee,0xe0,0x0a]382# CHECK-NOFP-NOT: vcvteq.u32.f32 s0, s1          @ encoding: [0xbc,0xee,0xe0,0x0a]383# CHECK: vcvtne.f32.u32  s0, s1          @ encoding: [0xb8,0xee,0x60,0x0a]384# CHECK-NOFP-NOT: vcvtne.f32.u32  s0, s1          @ encoding: [0xb8,0xee,0x60,0x0a]385 386vpste387vmult.f16 q0, q1, q2388vmule.f16 q0, q1, q2389# CHECK: vpste @ encoding: [0x71,0xfe,0x4d,0x8f]390# CHECK: vmult.f16 q0, q1, q2 @ encoding: [0x12,0xff,0x54,0x0d]391# CHECK-NOFP-NOT: vmult.f16 q0, q1, q2 @ encoding: [0x12,0xff,0x54,0x0d]392# CHECK: vmule.f16 q0, q1, q2 @ encoding: [0x12,0xff,0x54,0x0d]393# CHECK-NOFP-NOT: vmule.f16 q0, q1, q2 @ encoding: [0x12,0xff,0x54,0x0d]394 395ite eq396vmuleq.f64 d0, d0, d1397vmulne.f64 d1, d0, d2398# CHECK: ite eq @ encoding: [0x0c,0xbf]399# CHECK: vmuleq.f64 d0, d0, d1 @ encoding: [0x20,0xee,0x01,0x0b]400# CHECK-NOFP-NOT: vmuleq.f64 d0, d0, d1 @ encoding: [0x20,0xee,0x01,0x0b]401# CHECK: vmulne.f64 d1, d0, d2 @ encoding: [0x20,0xee,0x02,0x1b]402# CHECK-NOFP-NOT: vmulne.f64 d1, d0, d2 @ encoding: [0x20,0xee,0x02,0x1b]403 404it eq405vnegeq.f32 s0, s1406# CHECK: it eq @ encoding: [0x08,0xbf]407# CHECK: vnegeq.f32 s0, s1 @ encoding: [0xb1,0xee,0x60,0x0a]408# CHECK-NOFP-NOT: vnegeq.f32 s0, s1 @ encoding: [0xb1,0xee,0x60,0x0a]409 410itt eq411vnmuleq.f32 s0, s1, s2412vmuleq.f32 s0, s1, s2413# CHECK: itt eq @ encoding: [0x04,0xbf]414# CHECK: vnmuleq.f32 s0, s1, s2 @ encoding: [0x20,0xee,0xc1,0x0a]415# CHECK-NOFP-NOT: vnmuleq.f32 s0, s1, s2 @ encoding: [0x20,0xee,0xc1,0x0a]416# CHECK: vmuleq.f32 s0, s1, s2 @ encoding: [0x20,0xee,0x81,0x0a]417# CHECK-NOFP-NOT: vmuleq.f32 s0, s1, s2 @ encoding: [0x20,0xee,0x81,0x0a]418 419vpste420vrintnt.f16 q0, q1421vrintne.f32 q0, q1422# CHECK: vpste @ encoding: [0x71,0xfe,0x4d,0x8f]423# CHECK: vrintnt.f16 q0, q1 @ encoding: [0xb6,0xff,0x42,0x04]424# CHECK-NOFP-NOT: vrintnt.f16 q0, q1 @ encoding: [0xb6,0xff,0x42,0x04]425# CHECK: vrintne.f32 q0, q1 @ encoding: [0xba,0xff,0x42,0x04]426# CHECK-NOFP-NOT: vrintne.f32 q0, q1 @ encoding: [0xba,0xff,0x42,0x04]427