| # RUN: llvm-mc -disassemble %s -triple=thumbv7em 2>&1 | FileCheck %s |
| # RUN: llvm-mc -disassemble %s -triple=thumbv7m 2>&1 | FileCheck --check-prefix=CHECK --check-prefix=CHECK-V7M %s |
| |
| #------------------------------------------------------------------------------ |
| # Undefined encodings for mrs |
| #------------------------------------------------------------------------------ |
| |
| # invalid SYSm |
| # CHECK: warning: potentially undefined instruction encoding |
| # CHECK-NEXT: [0xef 0xf3 0x80 0x80] |
| [0xef 0xf3 0x80 0x80] |
| |
| #------------------------------------------------------------------------------ |
| # Undefined encodings for msr |
| #------------------------------------------------------------------------------ |
| |
| # invalid mask = '00' |
| # CHECK: warning: potentially undefined instruction encoding |
| # CHECK-NEXT: [0x80 0xf3 0x00 0x80] |
| [0x80 0xf3 0x00 0x80] |
| |
| # invalid mask = '11' with SYSm not in {0..3} |
| # CHECK: warning: potentially undefined instruction encoding |
| # CHECK-NEXT: [0x80 0xf3 0x05 0x8c] |
| [0x80 0xf3 0x05 0x8c] |
| |
| # invalid mask = '01' (ThumbV7M does not have the DSP extension) |
| # CHECK-V7M: warning: potentially undefined instruction encoding |
| # CHECK-V7M-NEXT: [0x80 0xf3 0x00 0x84] |
| [0x80 0xf3 0x00 0x84] |
| |
| # invalid SYSm |
| # CHECK: warning: potentially undefined instruction encoding |
| # CHECK-NEXT: [0x80 0xf3 0x80 0x88] |
| [0x80 0xf3 0x80 0x88] |