112 lines · plain
1# RUN: not llvm-mc -disassemble -triple=armv7a-arm-none-eabi -mattr=+vfp2 -show-encoding < %s 2>%t \2# RUN: | FileCheck --check-prefix=CHECK-V7A %s3# RUN: FileCheck --check-prefix=ERROR-V7A < %t %s4# RUN: llvm-mc -disassemble -triple=armv8a-arm-none-eabi -mattr=+fp-armv8 -show-encoding < %s 2>%t \5# RUN: | FileCheck --check-prefix=CHECK-V8A %s6# RUN: FileCheck --check-prefix=ERROR-V8A < %t %s7 8 [0x10,0xfa,0xf1,0xee]9 [0x10,0xfa,0xf1,0xee]10 [0x10,0xfa,0xf1,0xee]11 [0x10,0xaa,0xf1,0xee]12 [0x10,0x2a,0xf0,0xee]13 [0x10,0x3a,0xf0,0xee]14 [0x10,0x4a,0xf7,0xee]15 [0x10,0x5a,0xf6,0xee]16 [0x10,0x6a,0xf5,0xee]17 [0x10,0xda,0xf1,0xee]18 19# CHECK-V7A: vmrs APSR_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0xee]20# CHECK-V7A: vmrs APSR_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0xee]21# CHECK-V7A: vmrs APSR_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0xee]22# CHECK-V7A: vmrs r10, fpscr @ encoding: [0x10,0xaa,0xf1,0xee]23# CHECK-V7A: vmrs r2, fpsid @ encoding: [0x10,0x2a,0xf0,0xee]24# CHECK-V7A: vmrs r3, fpsid @ encoding: [0x10,0x3a,0xf0,0xee]25# CHECK-V7A: vmrs r4, mvfr0 @ encoding: [0x10,0x4a,0xf7,0xee]26# CHECK-V7A: vmrs r5, mvfr1 @ encoding: [0x10,0x5a,0xf6,0xee]27# ERROR-V7A: invalid instruction encoding28# CHECK-V7A: vmrs sp, fpscr @ encoding: [0x10,0xda,0xf1,0xee]29 30# CHECK-V8A: vmrs APSR_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0xee]31# CHECK-V8A: vmrs APSR_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0xee]32# CHECK-V8A: vmrs APSR_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0xee]33# CHECK-V8A: vmrs r10, fpscr @ encoding: [0x10,0xaa,0xf1,0xee]34# CHECK-V8A: vmrs r2, fpsid @ encoding: [0x10,0x2a,0xf0,0xee]35# CHECK-V8A: vmrs r3, fpsid @ encoding: [0x10,0x3a,0xf0,0xee]36# CHECK-V8A: vmrs r4, mvfr0 @ encoding: [0x10,0x4a,0xf7,0xee]37# CHECK-V8A: vmrs r5, mvfr1 @ encoding: [0x10,0x5a,0xf6,0xee]38# CHECK-V8A: vmrs r6, mvfr2 @ encoding: [0x10,0x6a,0xf5,0xee]39# CHECK-V8A: vmrs sp, fpscr @ encoding: [0x10,0xda,0xf1,0xee]40 41 [0x10,0xfa,0xe1,0xee]42 [0x10,0x0a,0xe1,0xee]43 [0x10,0x1a,0xe8,0xee]44 [0x10,0x2a,0xe0,0xee]45 [0x10,0xaa,0xe1,0xee]46 [0x10,0xda,0xe1,0xee]47 48# ERROR-V7A: potentially undefined instruction encoding49# CHECK-V7A: vmsr fpscr, r0 @ encoding: [0x10,0x0a,0xe1,0xee]50# CHECK-V7A: vmsr fpexc, r1 @ encoding: [0x10,0x1a,0xe8,0xee]51# CHECK-V7A: vmsr fpsid, r2 @ encoding: [0x10,0x2a,0xe0,0xee]52# CHECK-V7A: vmsr fpscr, r10 @ encoding: [0x10,0xaa,0xe1,0xee]53# CHECK-V7A: vmsr fpscr, sp @ encoding: [0x10,0xda,0xe1,0xee]54 55# ERROR-V8A: potentially undefined instruction encoding56# CHECK-V8A: vmsr fpscr, r0 @ encoding: [0x10,0x0a,0xe1,0xee]57# CHECK-V8A: vmsr fpexc, r1 @ encoding: [0x10,0x1a,0xe8,0xee]58# CHECK-V8A: vmsr fpsid, r2 @ encoding: [0x10,0x2a,0xe0,0xee]59# CHECK-V8A: vmsr fpscr, r10 @ encoding: [0x10,0xaa,0xe1,0xee]60# CHECK-V8A: vmsr fpscr, sp @ encoding: [0x10,0xda,0xe1,0xee]61 62 [0x10,0xfa,0xf1,0x0e]63 [0x10,0xfa,0xf1,0x1e]64 [0x10,0xfa,0xf1,0x2e]65 [0x10,0xaa,0xf1,0x3e]66 [0x10,0x2a,0xf0,0x4e]67 [0x10,0x3a,0xf0,0x5e]68 [0x10,0x4a,0xf7,0x6e]69 [0x10,0x5a,0xf6,0x7e]70 [0x10,0x6a,0xf5,0x8e]71 [0x10,0xda,0xf1,0x9e]72 73# CHECK-V7A: vmrseq APSR_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0x0e]74# CHECK-V7A: vmrsne APSR_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0x1e]75# CHECK-V7A: vmrshs APSR_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0x2e]76# CHECK-V7A: vmrslo r10, fpscr @ encoding: [0x10,0xaa,0xf1,0x3e]77# CHECK-V7A: vmrsmi r2, fpsid @ encoding: [0x10,0x2a,0xf0,0x4e]78# CHECK-V7A: vmrspl r3, fpsid @ encoding: [0x10,0x3a,0xf0,0x5e]79# CHECK-V7A: vmrsvs r4, mvfr0 @ encoding: [0x10,0x4a,0xf7,0x6e]80# CHECK-V7A: vmrsvc r5, mvfr1 @ encoding: [0x10,0x5a,0xf6,0x7e]81# ERROR-V7A: invalid instruction encoding82# CHECK-V7A: vmrsls sp, fpscr @ encoding: [0x10,0xda,0xf1,0x9e]83 84# CHECK-V8A: vmrseq APSR_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0x0e]85# CHECK-V8A: vmrsne APSR_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0x1e]86# CHECK-V8A: vmrshs APSR_nzcv, fpscr @ encoding: [0x10,0xfa,0xf1,0x2e]87# CHECK-V8A: vmrslo r10, fpscr @ encoding: [0x10,0xaa,0xf1,0x3e]88# CHECK-V8A: vmrsmi r2, fpsid @ encoding: [0x10,0x2a,0xf0,0x4e]89# CHECK-V8A: vmrspl r3, fpsid @ encoding: [0x10,0x3a,0xf0,0x5e]90# CHECK-V8A: vmrsvs r4, mvfr0 @ encoding: [0x10,0x4a,0xf7,0x6e]91# CHECK-V8A: vmrsvc r5, mvfr1 @ encoding: [0x10,0x5a,0xf6,0x7e]92# CHECK-V8A: vmrshi r6, mvfr2 @ encoding: [0x10,0x6a,0xf5,0x8e]93# CHECK-V8A: vmrsls sp, fpscr @ encoding: [0x10,0xda,0xf1,0x9e]94 95 [0x10,0x0a,0xe1,0xae]96 [0x10,0x1a,0xe8,0xbe]97 [0x10,0x2a,0xe0,0xce]98 [0x10,0xaa,0xe1,0xde]99 [0x10,0xda,0xe1,0x0e]100 101# CHECK-V7A: vmsrge fpscr, r0 @ encoding: [0x10,0x0a,0xe1,0xae]102# CHECK-V7A: vmsrlt fpexc, r1 @ encoding: [0x10,0x1a,0xe8,0xbe]103# CHECK-V7A: vmsrgt fpsid, r2 @ encoding: [0x10,0x2a,0xe0,0xce]104# CHECK-V7A: vmsrle fpscr, r10 @ encoding: [0x10,0xaa,0xe1,0xde]105# CHECK-V7A: vmsreq fpscr, sp @ encoding: [0x10,0xda,0xe1,0x0e]106 107# CHECK-V8A: vmsrge fpscr, r0 @ encoding: [0x10,0x0a,0xe1,0xae]108# CHECK-V8A: vmsrlt fpexc, r1 @ encoding: [0x10,0x1a,0xe8,0xbe]109# CHECK-V8A: vmsrgt fpsid, r2 @ encoding: [0x10,0x2a,0xe0,0xce]110# CHECK-V8A: vmsrle fpscr, r10 @ encoding: [0x10,0xaa,0xe1,0xde]111# CHECK-V8A: vmsreq fpscr, sp @ encoding: [0x10,0xda,0xe1,0x0e]112