158 lines · plain
1# RUN: not llvm-mc -disassemble -triple=thumbv7a-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: not llvm-mc -disassemble -triple=thumbv7m-arm-none-eabi -mattr=+vfp2 -show-encoding < %s 2>%t \5# RUN: | FileCheck --check-prefix=CHECK-V7M %s6# RUN: FileCheck --check-prefix=ERROR-V7M < %t %s7# RUN: llvm-mc -disassemble -triple=thumbv8a-arm-none-eabi -mattr=+fp-armv8 -show-encoding < %s 2>%t \8# RUN: | FileCheck --check-prefix=CHECK-V8A %s9# RUN: FileCheck --check-prefix=ERROR-V8A < %t %s10# RUN: llvm-mc -disassemble -triple=thumbv8m.main-arm-none-eabi -mattr=+fp-armv8 -show-encoding < %s 2>%t \11# RUN: | FileCheck --check-prefix=CHECK-V8M %s12# RUN: FileCheck --check-prefix=ERROR-V8M < %t %s13# RUN: not llvm-mc -disassemble -triple=thumbv7m-arm-none-eabi -show-encoding < %s 2>%t14# RUN: FileCheck --check-prefix=ERROR-NOVFP < %t %s15 16 [0xf1,0xee,0x10,0xfa]17 [0xf1,0xee,0x10,0xfa]18 [0xf1,0xee,0x10,0xfa]19 [0xf1,0xee,0x10,0xaa]20 [0xf0,0xee,0x10,0x2a]21 [0xf0,0xee,0x10,0x3a]22 [0xf7,0xee,0x10,0x4a]23 [0xf6,0xee,0x10,0x5a]24 [0xf5,0xee,0x10,0x6a]25 [0xf1,0xee,0x10,0xda]26 27# CHECK-V7A: vmrs APSR_nzcv, fpscr @ encoding: [0xf1,0xee,0x10,0xfa]28# CHECK-V7A: vmrs APSR_nzcv, fpscr @ encoding: [0xf1,0xee,0x10,0xfa]29# CHECK-V7A: vmrs APSR_nzcv, fpscr @ encoding: [0xf1,0xee,0x10,0xfa]30# CHECK-V7A: vmrs r10, fpscr @ encoding: [0xf1,0xee,0x10,0xaa]31# CHECK-V7A: vmrs r2, fpsid @ encoding: [0xf0,0xee,0x10,0x2a]32# CHECK-V7A: vmrs r3, fpsid @ encoding: [0xf0,0xee,0x10,0x3a]33# CHECK-V7A: vmrs r4, mvfr0 @ encoding: [0xf7,0xee,0x10,0x4a]34# CHECK-V7A: vmrs r5, mvfr1 @ encoding: [0xf6,0xee,0x10,0x5a]35# ERROR-V7A: invalid instruction encoding36# ERROR-V7A: potentially undefined instruction encoding37 38# CHECK-V7M: vmrs APSR_nzcv, fpscr @ encoding: [0xf1,0xee,0x10,0xfa]39# CHECK-V7M: vmrs APSR_nzcv, fpscr @ encoding: [0xf1,0xee,0x10,0xfa]40# CHECK-V7M: vmrs APSR_nzcv, fpscr @ encoding: [0xf1,0xee,0x10,0xfa]41# CHECK-V7M: vmrs r10, fpscr @ encoding: [0xf1,0xee,0x10,0xaa]42# CHECK-V7M: vmrs r2, fpsid @ encoding: [0xf0,0xee,0x10,0x2a]43# CHECK-V7M: vmrs r3, fpsid @ encoding: [0xf0,0xee,0x10,0x3a]44# CHECK-V7M: vmrs r4, mvfr0 @ encoding: [0xf7,0xee,0x10,0x4a]45# CHECK-V7M: vmrs r5, mvfr1 @ encoding: [0xf6,0xee,0x10,0x5a]46# ERROR-V7M: invalid instruction encoding47# ERROR-V7M: potentially undefined instruction encoding48 49# CHECK-V8A: vmrs APSR_nzcv, fpscr @ encoding: [0xf1,0xee,0x10,0xfa]50# CHECK-V8A: vmrs APSR_nzcv, fpscr @ encoding: [0xf1,0xee,0x10,0xfa]51# CHECK-V8A: vmrs APSR_nzcv, fpscr @ encoding: [0xf1,0xee,0x10,0xfa]52# CHECK-V8A: vmrs r10, fpscr @ encoding: [0xf1,0xee,0x10,0xaa]53# CHECK-V8A: vmrs r2, fpsid @ encoding: [0xf0,0xee,0x10,0x2a]54# CHECK-V8A: vmrs r3, fpsid @ encoding: [0xf0,0xee,0x10,0x3a]55# CHECK-V8A: vmrs r4, mvfr0 @ encoding: [0xf7,0xee,0x10,0x4a]56# CHECK-V8A: vmrs r5, mvfr1 @ encoding: [0xf6,0xee,0x10,0x5a]57# CHECK-V8A: vmrs r6, mvfr2 @ encoding: [0xf5,0xee,0x10,0x6a]58# CHECK-V8A: vmrs sp, fpscr @ encoding: [0xf1,0xee,0x10,0xda]59 60# CHECK-V8M: vmrs APSR_nzcv, fpscr @ encoding: [0xf1,0xee,0x10,0xfa]61# CHECK-V8M: vmrs APSR_nzcv, fpscr @ encoding: [0xf1,0xee,0x10,0xfa]62# CHECK-V8M: vmrs APSR_nzcv, fpscr @ encoding: [0xf1,0xee,0x10,0xfa]63# CHECK-V8M: vmrs r10, fpscr @ encoding: [0xf1,0xee,0x10,0xaa]64# CHECK-V8M: vmrs r2, fpsid @ encoding: [0xf0,0xee,0x10,0x2a]65# CHECK-V8M: vmrs r3, fpsid @ encoding: [0xf0,0xee,0x10,0x3a]66# CHECK-V8M: vmrs r4, mvfr0 @ encoding: [0xf7,0xee,0x10,0x4a]67# CHECK-V8M: vmrs r5, mvfr1 @ encoding: [0xf6,0xee,0x10,0x5a]68# CHECK-V8M: vmrs r6, mvfr2 @ encoding: [0xf5,0xee,0x10,0x6a]69# ERROR-V8M: potentially undefined instruction encoding70 71# ERROR-NOVFP: invalid instruction encoding72# ERROR-NOVFP: invalid instruction encoding73# ERROR-NOVFP: invalid instruction encoding74# ERROR-NOVFP: invalid instruction encoding75# ERROR-NOVFP: invalid instruction encoding76# ERROR-NOVFP: invalid instruction encoding77# ERROR-NOVFP: invalid instruction encoding78# ERROR-NOVFP: invalid instruction encoding79# ERROR-NOVFP: invalid instruction encoding80# ERROR-NOVFP: invalid instruction encoding81 82[0xe1,0xee,0x10,0xfa]83[0xe1,0xee,0x10,0x0a]84[0xe8,0xee,0x10,0x1a]85[0xe0,0xee,0x10,0x2a]86[0xe1,0xee,0x10,0xaa]87[0xe1,0xee,0x10,0xda]88 89# ERROR-V7A: potentially undefined instruction encoding90# CHECK-V7A: vmsr fpscr, r0 @ encoding: [0xe1,0xee,0x10,0x0a]91# CHECK-V7A: vmsr fpexc, r1 @ encoding: [0xe8,0xee,0x10,0x1a]92# CHECK-V7A: vmsr fpsid, r2 @ encoding: [0xe0,0xee,0x10,0x2a]93# CHECK-V7A: vmsr fpscr, r10 @ encoding: [0xe1,0xee,0x10,0xaa]94# ERROR-V7A: potentially undefined instruction encoding95 96# ERROR-V7M: potentially undefined instruction encoding97# CHECK-V7M: vmsr fpscr, r0 @ encoding: [0xe1,0xee,0x10,0x0a]98# CHECK-V7M: vmsr fpexc, r1 @ encoding: [0xe8,0xee,0x10,0x1a]99# CHECK-V7M: vmsr fpsid, r2 @ encoding: [0xe0,0xee,0x10,0x2a]100# CHECK-V7M: vmsr fpscr, r10 @ encoding: [0xe1,0xee,0x10,0xaa]101# ERROR-V7M: potentially undefined instruction encoding102 103# ERROR-V8A: potentially undefined instruction encoding104# CHECK-V8A: vmsr fpscr, r0 @ encoding: [0xe1,0xee,0x10,0x0a]105# CHECK-V8A: vmsr fpexc, r1 @ encoding: [0xe8,0xee,0x10,0x1a]106# CHECK-V8A: vmsr fpsid, r2 @ encoding: [0xe0,0xee,0x10,0x2a]107# CHECK-V8A: vmsr fpscr, r10 @ encoding: [0xe1,0xee,0x10,0xaa]108# CHECK-V8A: vmsr fpscr, sp @ encoding: [0xe1,0xee,0x10,0xda]109 110# ERROR-V8M: potentially undefined instruction encoding111# CHECK-V8M: vmsr fpscr, r0 @ encoding: [0xe1,0xee,0x10,0x0a]112# CHECK-V8M: vmsr fpexc, r1 @ encoding: [0xe8,0xee,0x10,0x1a]113# CHECK-V8M: vmsr fpsid, r2 @ encoding: [0xe0,0xee,0x10,0x2a]114# CHECK-V8M: vmsr fpscr, r10 @ encoding: [0xe1,0xee,0x10,0xaa]115# ERROR-V8M: potentially undefined instruction encoding116 117# ERROR-NOVFP: invalid instruction encoding118# ERROR-NOVFP: invalid instruction encoding119# ERROR-NOVFP: invalid instruction encoding120# ERROR-NOVFP: invalid instruction encoding121# ERROR-NOVFP: invalid instruction encoding122# ERROR-NOVFP: invalid instruction encoding123 124 [0x0b,0xbf]125 [0xf7,0xee,0x10,0x4a]126 [0xf6,0xee,0x10,0x5a]127 [0xe1,0xee,0x10,0x0a]128 [0xe0,0xee,0x10,0x2a]129 130# CHECK-V7A: itete eq @ encoding: [0x0b,0xbf]131# CHECK-V7A: vmrseq r4, mvfr0 @ encoding: [0xf7,0xee,0x10,0x4a]132# CHECK-V7A: vmrsne r5, mvfr1 @ encoding: [0xf6,0xee,0x10,0x5a]133# CHECK-V7A: vmsreq fpscr, r0 @ encoding: [0xe1,0xee,0x10,0x0a]134# CHECK-V7A: vmsrne fpsid, r2 @ encoding: [0xe0,0xee,0x10,0x2a]135 136# CHECK-V7M: itete eq @ encoding: [0x0b,0xbf]137# CHECK-V7M: vmrseq r4, mvfr0 @ encoding: [0xf7,0xee,0x10,0x4a]138# CHECK-V7M: vmrsne r5, mvfr1 @ encoding: [0xf6,0xee,0x10,0x5a]139# CHECK-V7M: vmsreq fpscr, r0 @ encoding: [0xe1,0xee,0x10,0x0a]140# CHECK-V7M: vmsrne fpsid, r2 @ encoding: [0xe0,0xee,0x10,0x2a]141 142# CHECK-V8A: itete eq @ encoding: [0x0b,0xbf]143# CHECK-V8A: vmrseq r4, mvfr0 @ encoding: [0xf7,0xee,0x10,0x4a]144# CHECK-V8A: vmrsne r5, mvfr1 @ encoding: [0xf6,0xee,0x10,0x5a]145# CHECK-V8A: vmsreq fpscr, r0 @ encoding: [0xe1,0xee,0x10,0x0a]146# CHECK-V8A: vmsrne fpsid, r2 @ encoding: [0xe0,0xee,0x10,0x2a]147 148# CHECK-V8M: itete eq @ encoding: [0x0b,0xbf]149# CHECK-V8M: vmrseq r4, mvfr0 @ encoding: [0xf7,0xee,0x10,0x4a]150# CHECK-V8M: vmrsne r5, mvfr1 @ encoding: [0xf6,0xee,0x10,0x5a]151# CHECK-V8M: vmsreq fpscr, r0 @ encoding: [0xe1,0xee,0x10,0x0a]152# CHECK-V8M: vmsrne fpsid, r2 @ encoding: [0xe0,0xee,0x10,0x2a]153 154# ERROR-NOVFP: invalid instruction encoding155# ERROR-NOVFP: invalid instruction encoding156# ERROR-NOVFP: invalid instruction encoding157# ERROR-NOVFP: invalid instruction encoding158