| # RUN: not llvm-mc -triple=thumbv6t2-none-eabi -disassemble < %s 2>/dev/null | FileCheck %s --check-prefix=V6T2 |
| # RUN: not llvm-mc -triple=thumbv7a-none-eabi -disassemble -mattr=-mp < %s 2>/dev/null | FileCheck %s --check-prefix=V6T2 --check-prefix=V7 |
| # RUN: llvm-mc -triple=thumbv7a-none-eabi -disassemble -mattr=+mp < %s 2>/dev/null | FileCheck %s --check-prefix=V6T2 --check-prefix=V7 --check-prefix=MP |
| # RUN: not llvm-mc -triple=thumbv7m-none-eabi -disassemble < %s 2>/dev/null | FileCheck %s --check-prefix=V6T2 --check-prefix=V7 |
| |
| # RUN: not llvm-mc -triple=thumbv6t2-none-eabi -disassemble < %s 2>&1 >/dev/null | FileCheck %s --check-prefix=MP-ERR --check-prefix=V7-ERR |
| # RUN: not llvm-mc -triple=thumbv7a-none-eabi -disassemble -mattr=-mp < %s 2>&1 >/dev/null | FileCheck %s --check-prefix=MP-ERR |
| # RUN: llvm-mc -triple=thumbv7a-none-eabi -disassemble -mattr=+mp < %s 2>&1 >/dev/null |
| # RUN: not llvm-mc -triple=thumbv7m-none-eabi -disassemble < %s 2>&1 >/dev/null | FileCheck %s --check-prefix=MP-ERR |
| |
| # V6T2: pld [r1, #3] |
| [0x91,0xf8,0x03,0xf0] |
| |
| # V6T2: pld [r2, #-5] |
| [0x12,0xf8,0x05,0xfc] |
| |
| # MP: pldw [r3, #4] |
| # MP-ERR: invalid instruction encoding |
| # MP-ERR-NEXT: [0xb3,0xf8,0x04,0xf0] |
| [0xb3,0xf8,0x04,0xf0] |
| |
| # MP: pldw [r4, #-6] |
| # MP-ERR: invalid instruction encoding |
| # MP-ERR-NEXT: [0x34,0xf8,0x06,0xfc] |
| [0x34,0xf8,0x06,0xfc] |
| |
| # V6T2: pld [pc, #8] |
| [0x9f,0xf8,0x08,0xf0] |
| |
| # V6T2: pld [pc, #-5] |
| [0x1f,0xf8,0x05,0xf0] |
| |
| # V6T2: pld [r5, r6] |
| [0x15,0xf8,0x06,0xf0] |
| |
| # V6T2: pld [r7, r8, lsl #1] |
| [0x17,0xf8,0x18,0xf0] |
| |
| # MP: pldw [r9, r10] |
| # MP-ERR: invalid instruction encoding |
| # MP-ERR-NEXT: [0x39,0xf8,0x0a,0xf0] |
| [0x39,0xf8,0x0a,0xf0] |
| |
| # MP: pldw [r11, r12, lsl #2] |
| # MP-ERR: invalid instruction encoding |
| # MP-ERR-NEXT: [0x3b,0xf8,0x2c,0xf0] |
| [0x3b,0xf8,0x2c,0xf0] |
| |
| # V7: pli [r1, #10] |
| # V7-ERR: invalid instruction encoding |
| # V7-ERR-NEXT: [0x91,0xf9,0x0a,0xf0] |
| [0x91,0xf9,0x0a,0xf0] |
| |
| # V7: pli [r2, #-3] |
| # V7-ERR: invalid instruction encoding |
| # V7-ERR-NEXT: [0x12,0xf9,0x03,0xfc] |
| [0x12,0xf9,0x03,0xfc] |
| |
| # V7: pli [pc, #6] |
| # V7-ERR: invalid instruction encoding |
| # V7-ERR-NEXT: [0x9f,0xf9,0x06,0xf0] |
| [0x9f,0xf9,0x06,0xf0] |
| |
| # V7: pli [pc, #-8] |
| # V7-ERR: invalid instruction encoding |
| # V7-ERR-NEXT: [0x1f,0xf9,0x08,0xf0] |
| [0x1f,0xf9,0x08,0xf0] |
| |
| # NO-ERR-NOT: invalid instruction encoding |