diff --git a/llvm/lib/Target/ARM/ARMBaseInstrInfo.h b/llvm/lib/Target/ARM/ARMBaseInstrInfo.h --- a/llvm/lib/Target/ARM/ARMBaseInstrInfo.h +++ b/llvm/lib/Target/ARM/ARMBaseInstrInfo.h @@ -524,6 +524,28 @@ Opc == ARM::STMDB_UPD || Opc == ARM::VSTMDDB_UPD; } +/// isValidCoprocessorNumber - decide whether an explicit coprocessor +/// number is legal in generic instructions like CDP. The answer can +/// vary with the subtarget. +static inline bool isValidCoprocessorNumber(unsigned Num, + const FeatureBitset& featureBits) { + // Armv8-A disallows everything *other* than 111x (CP14 and CP15). + if (featureBits[ARM::HasV8Ops] && (Num & 0xE) != 0xE) + return false; + + // Armv7 disallows 101x (CP10 and CP11), which clash with VFP/NEON. + if (featureBits[ARM::HasV7Ops] && (Num & 0xE) == 0xA) + return false; + + // Armv8.1-M also disallows 100x (CP8,CP9) and 111x (CP14,CP15) + // which clash with MVE. + if (featureBits[ARM::HasV8_1MMainlineOps] && + ((Num & 0xE) == 0x8 || (Num & 0xE) == 0xE)) + return false; + + return true; +} + /// getInstrPredicate - If instruction is predicated, returns its predicate /// condition, otherwise returns AL. It also returns the condition code /// register by reference. diff --git a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp --- a/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp +++ b/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp @@ -7,6 +7,7 @@ //===----------------------------------------------------------------------===// #include "ARMFeatures.h" +#include "ARMBaseInstrInfo.h" #include "Utils/ARMBaseInfo.h" #include "MCTargetDesc/ARMAddressingModes.h" #include "MCTargetDesc/ARMBaseInfo.h" @@ -4167,8 +4168,7 @@ int Num = MatchCoprocessorOperandName(Tok.getString().lower(), 'p'); if (Num == -1) return MatchOperand_NoMatch; - // ARMv7 and v8 don't allow cp10/cp11 due to VFP/NEON specific instructions - if ((hasV7Ops() || hasV8Ops()) && (Num == 10 || Num == 11)) + if (!isValidCoprocessorNumber(Num, getSTI().getFeatureBits())) return MatchOperand_NoMatch; Parser.Lex(); // Eat identifier token. diff --git a/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp b/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp --- a/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp +++ b/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp @@ -4486,14 +4486,7 @@ const FeatureBitset &featureBits = ((const MCDisassembler*)Decoder)->getSubtargetInfo().getFeatureBits(); - if (featureBits[ARM::HasV8Ops] && !(Val == 14 || Val == 15)) - return MCDisassembler::Fail; - - // For Armv8.1-M Mainline coprocessors matching 100x,101x or 111x should - // decode as VFP/MVE instructions. - if (featureBits[ARM::HasV8_1MMainlineOps] && - ((Val & 0xE) == 0x8 || (Val & 0xE) == 0xA || - (Val & 0xE) == 0xE)) + if (!isValidCoprocessorNumber(Val, featureBits)) return MCDisassembler::Fail; Inst.addOperand(MCOperand::createImm(Val)); diff --git a/llvm/test/MC/ARM/coprocessors.s b/llvm/test/MC/ARM/coprocessors.s new file mode 100644 --- /dev/null +++ b/llvm/test/MC/ARM/coprocessors.s @@ -0,0 +1,74 @@ +@ RUN: not llvm-mc -triple=armv7 < %s 2> %t | FileCheck --check-prefix=ACCEPT-01234567CD --check-prefix=ACCEPT-89 --check-prefix=ACCEPT-EF %s +@ RUN: FileCheck --check-prefix=REJECT-AB < %t %s +@ RUN: not llvm-mc -triple=thumbv7 < %s 2> %t | FileCheck --check-prefix=ACCEPT-01234567CD --check-prefix=ACCEPT-89 --check-prefix=ACCEPT-EF %s +@ RUN: FileCheck --check-prefix=REJECT-AB < %t %s +@ RUN: not llvm-mc -triple=armv8 < %s 2> %t | FileCheck --check-prefix=ACCEPT-EF %s +@ RUN: FileCheck --check-prefix=REJECT-01234567CD --check-prefix=REJECT-89 --check-prefix=REJECT-AB < %t %s +@ RUN: not llvm-mc -triple=thumbv8 < %s 2> %t | FileCheck --check-prefix=ACCEPT-EF %s +@ RUN: FileCheck --check-prefix=REJECT-01234567CD --check-prefix=REJECT-89 --check-prefix=REJECT-AB < %t %s +@ RUN: not llvm-mc -triple=thumbv8.1m.main < %s 2> %t | FileCheck --check-prefix=ACCEPT-01234567CD %s +@ RUN: FileCheck --check-prefix=REJECT-89 --check-prefix=REJECT-AB --check-prefix=REJECT-EF < %t %s + +mrc p0, #1, r2, c3, c4, #5 +@ ACCEPT-01234567CD: mrc p0, #1, r2, c3, c4, #5 +@ REJECT-01234567CD: [[@LINE-2]]:7: error: invalid operand for instruction + +mrc p1, #1, r2, c3, c4, #5 +@ ACCEPT-01234567CD: mrc p1, #1, r2, c3, c4, #5 +@ REJECT-01234567CD: [[@LINE-2]]:7: error: invalid operand for instruction + +mrc p2, #1, r2, c3, c4, #5 +@ ACCEPT-01234567CD: mrc p2, #1, r2, c3, c4, #5 +@ REJECT-01234567CD: [[@LINE-2]]:7: error: invalid operand for instruction + +mrc p3, #1, r2, c3, c4, #5 +@ ACCEPT-01234567CD: mrc p3, #1, r2, c3, c4, #5 +@ REJECT-01234567CD: [[@LINE-2]]:7: error: invalid operand for instruction + +mrc p4, #1, r2, c3, c4, #5 +@ ACCEPT-01234567CD: mrc p4, #1, r2, c3, c4, #5 +@ REJECT-01234567CD: [[@LINE-2]]:7: error: invalid operand for instruction + +mrc p5, #1, r2, c3, c4, #5 +@ ACCEPT-01234567CD: mrc p5, #1, r2, c3, c4, #5 +@ REJECT-01234567CD: [[@LINE-2]]:7: error: invalid operand for instruction + +mrc p6, #1, r2, c3, c4, #5 +@ ACCEPT-01234567CD: mrc p6, #1, r2, c3, c4, #5 +@ REJECT-01234567CD: [[@LINE-2]]:7: error: invalid operand for instruction + +mrc p7, #1, r2, c3, c4, #5 +@ ACCEPT-01234567CD: mrc p7, #1, r2, c3, c4, #5 +@ REJECT-01234567CD: [[@LINE-2]]:7: error: invalid operand for instruction + +mrc p8, #1, r2, c3, c4, #5 +@ ACCEPT-89: mrc p8, #1, r2, c3, c4, #5 +@ REJECT-89: [[@LINE-2]]:7: error: invalid operand for instruction + +mrc p9, #1, r2, c3, c4, #5 +@ ACCEPT-89: mrc p9, #1, r2, c3, c4, #5 +@ REJECT-89: [[@LINE-2]]:7: error: invalid operand for instruction + +mrc p10, #1, r2, c3, c4, #5 +@ ACCEPT-AB: mrc p10, #1, r2, c3, c4, #5 +@ REJECT-AB: [[@LINE-2]]:7: error: invalid operand for instruction + +mrc p11, #1, r2, c3, c4, #5 +@ ACCEPT-AB: mrc p11, #1, r2, c3, c4, #5 +@ REJECT-AB: [[@LINE-2]]:7: error: invalid operand for instruction + +mrc p12, #1, r2, c3, c4, #5 +@ ACCEPT-01234567CD: mrc p12, #1, r2, c3, c4, #5 +@ REJECT-01234567CD: [[@LINE-2]]:7: error: invalid operand for instruction + +mrc p13, #1, r2, c3, c4, #5 +@ ACCEPT-01234567CD: mrc p13, #1, r2, c3, c4, #5 +@ REJECT-01234567CD: [[@LINE-2]]:7: error: invalid operand for instruction + +mrc p14, #1, r2, c3, c4, #5 +@ ACCEPT-EF: mrc p14, #1, r2, c3, c4, #5 +@ REJECT-EF: [[@LINE-2]]:7: error: invalid operand for instruction + +mrc p15, #1, r2, c3, c4, #5 +@ ACCEPT-EF: mrc p15, #1, r2, c3, c4, #5 +@ REJECT-EF: [[@LINE-2]]:7: error: invalid operand for instruction diff --git a/llvm/test/MC/ARM/diagnostics.s b/llvm/test/MC/ARM/diagnostics.s --- a/llvm/test/MC/ARM/diagnostics.s +++ b/llvm/test/MC/ARM/diagnostics.s @@ -127,10 +127,10 @@ @ Out of range 4 and 3 bit immediates on CDP[2] @ Out of range immediates for CDP/CDP2 - cdp p7, #2, c1, c1, c1, #8 - cdp p7, #1, c1, c1, c1, #8 - cdp2 p7, #2, c1, c1, c1, #8 - cdp2 p7, #1, c1, c1, c1, #8 + cdp p14, #2, c1, c1, c1, #8 + cdp p14, #1, c1, c1, c1, #8 + cdp2 p14, #2, c1, c1, c1, #8 + cdp2 p14, #1, c1, c1, c1, #8 @ CHECK-ERRORS-V7: error: operand must be an immediate in the range [0,7] @ CHECK-ERRORS-V7: error: operand must be an immediate in the range [0,7] @@ -154,12 +154,12 @@ @ CHECK-ERRORS: ^ @ Out of range immediate for MCR/MCR2/MCRR/MCRR2 - mcr p7, #8, r5, c1, c1, #4 - mcr p7, #2, r5, c1, c1, #8 - mcr2 p7, #8, r5, c1, c1, #4 - mcr2 p7, #1, r5, c1, c1, #8 - mcrr p7, #16, r5, r4, c1 - mcrr2 p7, #16, r5, r4, c1 + mcr p14, #8, r5, c1, c1, #4 + mcr p14, #2, r5, c1, c1, #8 + mcr2 p14, #8, r5, c1, c1, #4 + mcr2 p14, #1, r5, c1, c1, #8 + mcrr p14, #16, r5, r4, c1 + mcrr2 p14, #16, r5, r4, c1 @ CHECK-ERRORS: operand must be an immediate in the range [0,7] @ CHECK-ERRORS: operand must be an immediate in the range [0,7] @ CHECK-ERRORS-V7: operand must be an immediate in the range [0,7] @@ -203,8 +203,8 @@ mrc p14, #1, r1, c1, c2, #8 mrc2 p14, #8, r1, c1, c2, #4 mrc2 p14, #0, r1, c1, c2, #9 - mrrc p7, #16, r5, r4, c1 - mrrc2 p7, #17, r5, r4, c1 + mrrc p14, #16, r5, r4, c1 + mrrc2 p14, #17, r5, r4, c1 @ CHECK-ERRORS: operand must be an immediate in the range [0,7] @ CHECK-ERRORS: operand must be an immediate in the range [0,7] @ CHECK-ERRORS-V7: operand must be an immediate in the range [0,7] diff --git a/llvm/test/MC/ARM/thumb2-diagnostics.s b/llvm/test/MC/ARM/thumb2-diagnostics.s --- a/llvm/test/MC/ARM/thumb2-diagnostics.s +++ b/llvm/test/MC/ARM/thumb2-diagnostics.s @@ -37,8 +37,8 @@ mrc p14, #1, r1, c1, c2, #8 mrc2 p14, #8, r1, c1, c2, #4 mrc2 p14, #0, r1, c1, c2, #9 - mrrc p7, #16, r5, r4, c1 - mrrc2 p7, #17, r5, r4, c1 + mrrc p14, #16, r5, r4, c1 + mrrc2 p14, #17, r5, r4, c1 @ CHECK-ERRORS: operand must be an immediate in the range [0,7] @ CHECK-ERRORS: operand must be an immediate in the range [0,7] @ CHECK-ERRORS-V7: operand must be an immediate in the range [0,7] diff --git a/llvm/test/MC/ARM/v8_IT_manual.s b/llvm/test/MC/ARM/v8_IT_manual.s --- a/llvm/test/MC/ARM/v8_IT_manual.s +++ b/llvm/test/MC/ARM/v8_IT_manual.s @@ -1832,148 +1832,148 @@ rsbge r0, lr, r0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r0], #-0 +stcge p14, c0, [r0], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r1], #-0 +stcge p14, c0, [r1], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r2], #-0 +stcge p14, c0, [r2], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r3], #-0 +stcge p14, c0, [r3], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r4], #-0 +stcge p14, c0, [r4], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r5], #-0 +stcge p14, c0, [r5], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r6], #-0 +stcge p14, c0, [r6], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r7], #-0 +stcge p14, c0, [r7], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r8], #-0 +stcge p14, c0, [r8], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r9], #-0 +stcge p14, c0, [r9], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r10], #-0 +stcge p14, c0, [r10], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r11], #-0 +stcge p14, c0, [r11], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r12], #-0 +stcge p14, c0, [r12], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [sp], #-0 +stcge p14, c0, [sp], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [lr], #-0 +stcge p14, c0, [lr], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [pc], #-0 +stcge p14, c0, [pc], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r0], #-0 +ldcge p14, c0, [r0], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r1], #-0 +ldcge p14, c0, [r1], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r2], #-0 +ldcge p14, c0, [r2], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r3], #-0 +ldcge p14, c0, [r3], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r4], #-0 +ldcge p14, c0, [r4], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r5], #-0 +ldcge p14, c0, [r5], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r6], #-0 +ldcge p14, c0, [r6], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r7], #-0 +ldcge p14, c0, [r7], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r8], #-0 +ldcge p14, c0, [r8], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r9], #-0 +ldcge p14, c0, [r9], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r10], #-0 +ldcge p14, c0, [r10], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r11], #-0 +ldcge p14, c0, [r11], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r12], #-0 +ldcge p14, c0, [r12], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [sp], #-0 +ldcge p14, c0, [sp], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [lr], #-0 +ldcge p14, c0, [lr], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [pc], #-0 +ldcge p14, c0, [pc], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -mcrrge p0, #0, r0, r0, c0 +mcrrge p14, #0, r0, r0, c0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -mcrrge p0, #0, r0, r1, c0 +mcrrge p14, #0, r0, r1, c0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -mcrrge p0, #0, r0, r2, c0 +mcrrge p14, #0, r0, r2, c0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -mcrrge p0, #0, r0, r3, c0 +mcrrge p14, #0, r0, r3, c0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -mcrrge p0, #0, r0, r4, c0 +mcrrge p14, #0, r0, r4, c0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -mcrrge p0, #0, r0, r5, c0 +mcrrge p14, #0, r0, r5, c0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -mcrrge p0, #0, r0, r6, c0 +mcrrge p14, #0, r0, r6, c0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -mcrrge p0, #0, r0, r7, c0 +mcrrge p14, #0, r0, r7, c0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -mcrrge p0, #0, r0, r8, c0 +mcrrge p14, #0, r0, r8, c0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -mcrrge p0, #0, r0, r9, c0 +mcrrge p14, #0, r0, r9, c0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -mcrrge p0, #0, r0, r10, c0 +mcrrge p14, #0, r0, r10, c0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -mcrrge p0, #0, r0, r11, c0 +mcrrge p14, #0, r0, r11, c0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -mcrrge p0, #0, r0, r12, c0 +mcrrge p14, #0, r0, r12, c0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -mcrrge p0, #0, r0, sp, c0 +mcrrge p14, #0, r0, sp, c0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -mcrrge p0, #0, r0, lr, c0 +mcrrge p14, #0, r0, lr, c0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -mcrrge p0, #0, r0, pc, c0 +mcrrge p14, #0, r0, pc, c0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge mrrcge p14, #0, r0, r0, c0 @@ -2024,1252 +2024,1252 @@ mrrcge p14, #0, r0, pc, c0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r0], #-0 +stclge p14, c0, [r0], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r1], #-0 +stclge p14, c0, [r1], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r2], #-0 +stclge p14, c0, [r2], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r3], #-0 +stclge p14, c0, [r3], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r4], #-0 +stclge p14, c0, [r4], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r5], #-0 +stclge p14, c0, [r5], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r6], #-0 +stclge p14, c0, [r6], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r7], #-0 +stclge p14, c0, [r7], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r8], #-0 +stclge p14, c0, [r8], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r9], #-0 +stclge p14, c0, [r9], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r10], #-0 +stclge p14, c0, [r10], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r11], #-0 +stclge p14, c0, [r11], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r12], #-0 +stclge p14, c0, [r12], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [sp], #-0 +stclge p14, c0, [sp], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [lr], #-0 +stclge p14, c0, [lr], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [pc], #-0 +stclge p14, c0, [pc], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r0], #-0 +ldclge p14, c0, [r0], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r1], #-0 +ldclge p14, c0, [r1], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r2], #-0 +ldclge p14, c0, [r2], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r3], #-0 +ldclge p14, c0, [r3], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r4], #-0 +ldclge p14, c0, [r4], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r5], #-0 +ldclge p14, c0, [r5], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r6], #-0 +ldclge p14, c0, [r6], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r7], #-0 +ldclge p14, c0, [r7], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r8], #-0 +ldclge p14, c0, [r8], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r9], #-0 +ldclge p14, c0, [r9], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r10], #-0 +ldclge p14, c0, [r10], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r11], #-0 +ldclge p14, c0, [r11], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r12], #-0 +ldclge p14, c0, [r12], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [sp], #-0 +ldclge p14, c0, [sp], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [lr], #-0 +ldclge p14, c0, [lr], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [pc], #-0 +ldclge p14, c0, [pc], #-0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r0], {0} +stcge p14, c0, [r0], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r1], {0} +stcge p14, c0, [r1], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r2], {0} +stcge p14, c0, [r2], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r3], {0} +stcge p14, c0, [r3], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r4], {0} +stcge p14, c0, [r4], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r5], {0} +stcge p14, c0, [r5], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r6], {0} +stcge p14, c0, [r6], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r7], {0} +stcge p14, c0, [r7], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r8], {0} +stcge p14, c0, [r8], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r9], {0} +stcge p14, c0, [r9], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r10], {0} +stcge p14, c0, [r10], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r11], {0} +stcge p14, c0, [r11], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r12], {0} +stcge p14, c0, [r12], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [sp], {0} +stcge p14, c0, [sp], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [lr], {0} +stcge p14, c0, [lr], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [pc], {0} +stcge p14, c0, [pc], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r0], {0} +ldcge p14, c0, [r0], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r1], {0} +ldcge p14, c0, [r1], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r2], {0} +ldcge p14, c0, [r2], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r3], {0} +ldcge p14, c0, [r3], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r4], {0} +ldcge p14, c0, [r4], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r5], {0} +ldcge p14, c0, [r5], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r6], {0} +ldcge p14, c0, [r6], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r7], {0} +ldcge p14, c0, [r7], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r8], {0} +ldcge p14, c0, [r8], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r9], {0} +ldcge p14, c0, [r9], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r10], {0} +ldcge p14, c0, [r10], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r11], {0} +ldcge p14, c0, [r11], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r12], {0} +ldcge p14, c0, [r12], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [sp], {0} +ldcge p14, c0, [sp], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [lr], {0} +ldcge p14, c0, [lr], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [pc], {0} +ldcge p14, c0, [pc], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r0], #0 +stcge p14, c0, [r0], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r1], #0 +stcge p14, c0, [r1], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r2], #0 +stcge p14, c0, [r2], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r3], #0 +stcge p14, c0, [r3], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r4], #0 +stcge p14, c0, [r4], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r5], #0 +stcge p14, c0, [r5], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r6], #0 +stcge p14, c0, [r6], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r7], #0 +stcge p14, c0, [r7], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r8], #0 +stcge p14, c0, [r8], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r9], #0 +stcge p14, c0, [r9], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r10], #0 +stcge p14, c0, [r10], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r11], #0 +stcge p14, c0, [r11], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r12], #0 +stcge p14, c0, [r12], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [sp], #0 +stcge p14, c0, [sp], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [lr], #0 +stcge p14, c0, [lr], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [pc], #0 +stcge p14, c0, [pc], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r0], #0 +ldcge p14, c0, [r0], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r1], #0 +ldcge p14, c0, [r1], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r2], #0 +ldcge p14, c0, [r2], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r3], #0 +ldcge p14, c0, [r3], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r4], #0 +ldcge p14, c0, [r4], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r5], #0 +ldcge p14, c0, [r5], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r6], #0 +ldcge p14, c0, [r6], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r7], #0 +ldcge p14, c0, [r7], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r8], #0 +ldcge p14, c0, [r8], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r9], #0 +ldcge p14, c0, [r9], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r10], #0 +ldcge p14, c0, [r10], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r11], #0 +ldcge p14, c0, [r11], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r12], #0 +ldcge p14, c0, [r12], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [sp], #0 +ldcge p14, c0, [sp], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [lr], #0 +ldcge p14, c0, [lr], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [pc], #0 +ldcge p14, c0, [pc], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r0], {0} +stclge p14, c0, [r0], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r1], {0} +stclge p14, c0, [r1], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r2], {0} +stclge p14, c0, [r2], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r3], {0} +stclge p14, c0, [r3], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r4], {0} +stclge p14, c0, [r4], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r5], {0} +stclge p14, c0, [r5], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r6], {0} +stclge p14, c0, [r6], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r7], {0} +stclge p14, c0, [r7], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r8], {0} +stclge p14, c0, [r8], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r9], {0} +stclge p14, c0, [r9], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r10], {0} +stclge p14, c0, [r10], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r11], {0} +stclge p14, c0, [r11], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r12], {0} +stclge p14, c0, [r12], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [sp], {0} +stclge p14, c0, [sp], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [lr], {0} +stclge p14, c0, [lr], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [pc], {0} +stclge p14, c0, [pc], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r0], {0} +ldclge p14, c0, [r0], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r1], {0} +ldclge p14, c0, [r1], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r2], {0} +ldclge p14, c0, [r2], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r3], {0} +ldclge p14, c0, [r3], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r4], {0} +ldclge p14, c0, [r4], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r5], {0} +ldclge p14, c0, [r5], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r6], {0} +ldclge p14, c0, [r6], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r7], {0} +ldclge p14, c0, [r7], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r8], {0} +ldclge p14, c0, [r8], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r9], {0} +ldclge p14, c0, [r9], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r10], {0} +ldclge p14, c0, [r10], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r11], {0} +ldclge p14, c0, [r11], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r12], {0} +ldclge p14, c0, [r12], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [sp], {0} +ldclge p14, c0, [sp], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [lr], {0} +ldclge p14, c0, [lr], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [pc], {0} +ldclge p14, c0, [pc], {0} @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r0], #0 +stclge p14, c0, [r0], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r1], #0 +stclge p14, c0, [r1], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r2], #0 +stclge p14, c0, [r2], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r3], #0 +stclge p14, c0, [r3], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r4], #0 +stclge p14, c0, [r4], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r5], #0 +stclge p14, c0, [r5], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r6], #0 +stclge p14, c0, [r6], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r7], #0 +stclge p14, c0, [r7], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r8], #0 +stclge p14, c0, [r8], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r9], #0 +stclge p14, c0, [r9], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r10], #0 +stclge p14, c0, [r10], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r11], #0 +stclge p14, c0, [r11], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r12], #0 +stclge p14, c0, [r12], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [sp], #0 +stclge p14, c0, [sp], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [lr], #0 +stclge p14, c0, [lr], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [pc], #0 +stclge p14, c0, [pc], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r0], #0 +ldclge p14, c0, [r0], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r1], #0 +ldclge p14, c0, [r1], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r2], #0 +ldclge p14, c0, [r2], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r3], #0 +ldclge p14, c0, [r3], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r4], #0 +ldclge p14, c0, [r4], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r5], #0 +ldclge p14, c0, [r5], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r6], #0 +ldclge p14, c0, [r6], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r7], #0 +ldclge p14, c0, [r7], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r8], #0 +ldclge p14, c0, [r8], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r9], #0 +ldclge p14, c0, [r9], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r10], #0 +ldclge p14, c0, [r10], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r11], #0 +ldclge p14, c0, [r11], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r12], #0 +ldclge p14, c0, [r12], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [sp], #0 +ldclge p14, c0, [sp], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [lr], #0 +ldclge p14, c0, [lr], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [pc], #0 +ldclge p14, c0, [pc], #0 @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r0, #-0] +stcge p14, c0, [r0, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r1, #-0] +stcge p14, c0, [r1, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r2, #-0] +stcge p14, c0, [r2, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r3, #-0] +stcge p14, c0, [r3, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r4, #-0] +stcge p14, c0, [r4, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r5, #-0] +stcge p14, c0, [r5, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r6, #-0] +stcge p14, c0, [r6, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r7, #-0] +stcge p14, c0, [r7, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r8, #-0] +stcge p14, c0, [r8, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r9, #-0] +stcge p14, c0, [r9, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r10, #-0] +stcge p14, c0, [r10, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r11, #-0] +stcge p14, c0, [r11, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r12, #-0] +stcge p14, c0, [r12, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [sp, #-0] +stcge p14, c0, [sp, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [lr, #-0] +stcge p14, c0, [lr, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [pc, #-0] +stcge p14, c0, [pc, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r0, #-0] +ldcge p14, c0, [r0, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r1, #-0] +ldcge p14, c0, [r1, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r2, #-0] +ldcge p14, c0, [r2, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r3, #-0] +ldcge p14, c0, [r3, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r4, #-0] +ldcge p14, c0, [r4, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r5, #-0] +ldcge p14, c0, [r5, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r6, #-0] +ldcge p14, c0, [r6, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r7, #-0] +ldcge p14, c0, [r7, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r8, #-0] +ldcge p14, c0, [r8, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r9, #-0] +ldcge p14, c0, [r9, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r10, #-0] +ldcge p14, c0, [r10, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r11, #-0] +ldcge p14, c0, [r11, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r12, #-0] +ldcge p14, c0, [r12, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [sp, #-0] +ldcge p14, c0, [sp, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [lr, #-0] +ldcge p14, c0, [lr, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [pc, #-0] +ldcge p14, c0, [pc, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r0, #-0]! +stcge p14, c0, [r0, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r1, #-0]! +stcge p14, c0, [r1, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r2, #-0]! +stcge p14, c0, [r2, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r3, #-0]! +stcge p14, c0, [r3, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r4, #-0]! +stcge p14, c0, [r4, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r5, #-0]! +stcge p14, c0, [r5, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r6, #-0]! +stcge p14, c0, [r6, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r7, #-0]! +stcge p14, c0, [r7, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r8, #-0]! +stcge p14, c0, [r8, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r9, #-0]! +stcge p14, c0, [r9, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r10, #-0]! +stcge p14, c0, [r10, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r11, #-0]! +stcge p14, c0, [r11, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r12, #-0]! +stcge p14, c0, [r12, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [sp, #-0]! +stcge p14, c0, [sp, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [lr, #-0]! +stcge p14, c0, [lr, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [pc, #-0]! +stcge p14, c0, [pc, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r0, #-0]! +ldcge p14, c0, [r0, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r1, #-0]! +ldcge p14, c0, [r1, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r2, #-0]! +ldcge p14, c0, [r2, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r3, #-0]! +ldcge p14, c0, [r3, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r4, #-0]! +ldcge p14, c0, [r4, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r5, #-0]! +ldcge p14, c0, [r5, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r6, #-0]! +ldcge p14, c0, [r6, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r7, #-0]! +ldcge p14, c0, [r7, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r8, #-0]! +ldcge p14, c0, [r8, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r9, #-0]! +ldcge p14, c0, [r9, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r10, #-0]! +ldcge p14, c0, [r10, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r11, #-0]! +ldcge p14, c0, [r11, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r12, #-0]! +ldcge p14, c0, [r12, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [sp, #-0]! +ldcge p14, c0, [sp, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [lr, #-0]! +ldcge p14, c0, [lr, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [pc, #-0]! +ldcge p14, c0, [pc, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r0, #-0] +stclge p14, c0, [r0, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r1, #-0] +stclge p14, c0, [r1, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r2, #-0] +stclge p14, c0, [r2, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r3, #-0] +stclge p14, c0, [r3, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r4, #-0] +stclge p14, c0, [r4, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r5, #-0] +stclge p14, c0, [r5, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r6, #-0] +stclge p14, c0, [r6, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r7, #-0] +stclge p14, c0, [r7, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r8, #-0] +stclge p14, c0, [r8, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r9, #-0] +stclge p14, c0, [r9, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r10, #-0] +stclge p14, c0, [r10, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r11, #-0] +stclge p14, c0, [r11, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r12, #-0] +stclge p14, c0, [r12, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [sp, #-0] +stclge p14, c0, [sp, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [lr, #-0] +stclge p14, c0, [lr, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [pc, #-0] +stclge p14, c0, [pc, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r0, #-0] +ldclge p14, c0, [r0, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r1, #-0] +ldclge p14, c0, [r1, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r2, #-0] +ldclge p14, c0, [r2, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r3, #-0] +ldclge p14, c0, [r3, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r4, #-0] +ldclge p14, c0, [r4, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r5, #-0] +ldclge p14, c0, [r5, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r6, #-0] +ldclge p14, c0, [r6, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r7, #-0] +ldclge p14, c0, [r7, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r8, #-0] +ldclge p14, c0, [r8, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r9, #-0] +ldclge p14, c0, [r9, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r10, #-0] +ldclge p14, c0, [r10, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r11, #-0] +ldclge p14, c0, [r11, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r12, #-0] +ldclge p14, c0, [r12, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [sp, #-0] +ldclge p14, c0, [sp, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [lr, #-0] +ldclge p14, c0, [lr, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [pc, #-0] +ldclge p14, c0, [pc, #-0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r0, #-0]! +stclge p14, c0, [r0, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r1, #-0]! +stclge p14, c0, [r1, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r2, #-0]! +stclge p14, c0, [r2, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r3, #-0]! +stclge p14, c0, [r3, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r4, #-0]! +stclge p14, c0, [r4, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r5, #-0]! +stclge p14, c0, [r5, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r6, #-0]! +stclge p14, c0, [r6, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r7, #-0]! +stclge p14, c0, [r7, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r8, #-0]! +stclge p14, c0, [r8, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r9, #-0]! +stclge p14, c0, [r9, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r10, #-0]! +stclge p14, c0, [r10, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r11, #-0]! +stclge p14, c0, [r11, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r12, #-0]! +stclge p14, c0, [r12, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [sp, #-0]! +stclge p14, c0, [sp, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [lr, #-0]! +stclge p14, c0, [lr, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [pc, #-0]! +stclge p14, c0, [pc, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r0, #-0]! +ldclge p14, c0, [r0, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r1, #-0]! +ldclge p14, c0, [r1, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r2, #-0]! +ldclge p14, c0, [r2, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r3, #-0]! +ldclge p14, c0, [r3, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r4, #-0]! +ldclge p14, c0, [r4, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r5, #-0]! +ldclge p14, c0, [r5, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r6, #-0]! +ldclge p14, c0, [r6, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r7, #-0]! +ldclge p14, c0, [r7, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r8, #-0]! +ldclge p14, c0, [r8, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r9, #-0]! +ldclge p14, c0, [r9, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r10, #-0]! +ldclge p14, c0, [r10, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r11, #-0]! +ldclge p14, c0, [r11, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r12, #-0]! +ldclge p14, c0, [r12, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [sp, #-0]! +ldclge p14, c0, [sp, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [lr, #-0]! +ldclge p14, c0, [lr, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [pc, #-0]! +ldclge p14, c0, [pc, #-0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r0] +stcge p14, c0, [r0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r1] +stcge p14, c0, [r1] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r2] +stcge p14, c0, [r2] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r3] +stcge p14, c0, [r3] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r4] +stcge p14, c0, [r4] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r5] +stcge p14, c0, [r5] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r6] +stcge p14, c0, [r6] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r7] +stcge p14, c0, [r7] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r8] +stcge p14, c0, [r8] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r9] +stcge p14, c0, [r9] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r10] +stcge p14, c0, [r10] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r11] +stcge p14, c0, [r11] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r12] +stcge p14, c0, [r12] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [sp] +stcge p14, c0, [sp] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [lr] +stcge p14, c0, [lr] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [pc] +stcge p14, c0, [pc] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r0] +ldcge p14, c0, [r0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r1] +ldcge p14, c0, [r1] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r2] +ldcge p14, c0, [r2] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r3] +ldcge p14, c0, [r3] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r4] +ldcge p14, c0, [r4] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r5] +ldcge p14, c0, [r5] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r6] +ldcge p14, c0, [r6] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r7] +ldcge p14, c0, [r7] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r8] +ldcge p14, c0, [r8] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r9] +ldcge p14, c0, [r9] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r10] +ldcge p14, c0, [r10] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r11] +ldcge p14, c0, [r11] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r12] +ldcge p14, c0, [r12] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [sp] +ldcge p14, c0, [sp] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [lr] +ldcge p14, c0, [lr] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [pc] +ldcge p14, c0, [pc] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r0, #0]! +stcge p14, c0, [r0, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r1, #0]! +stcge p14, c0, [r1, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r2, #0]! +stcge p14, c0, [r2, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r3, #0]! +stcge p14, c0, [r3, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r4, #0]! +stcge p14, c0, [r4, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r5, #0]! +stcge p14, c0, [r5, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r6, #0]! +stcge p14, c0, [r6, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r7, #0]! +stcge p14, c0, [r7, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r8, #0]! +stcge p14, c0, [r8, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r9, #0]! +stcge p14, c0, [r9, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r10, #0]! +stcge p14, c0, [r10, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r11, #0]! +stcge p14, c0, [r11, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [r12, #0]! +stcge p14, c0, [r12, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [sp, #0]! +stcge p14, c0, [sp, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [lr, #0]! +stcge p14, c0, [lr, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stcge p0, c0, [pc, #0]! +stcge p14, c0, [pc, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r0, #0]! +ldcge p14, c0, [r0, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r1, #0]! +ldcge p14, c0, [r1, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r2, #0]! +ldcge p14, c0, [r2, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r3, #0]! +ldcge p14, c0, [r3, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r4, #0]! +ldcge p14, c0, [r4, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r5, #0]! +ldcge p14, c0, [r5, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r6, #0]! +ldcge p14, c0, [r6, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r7, #0]! +ldcge p14, c0, [r7, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r8, #0]! +ldcge p14, c0, [r8, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r9, #0]! +ldcge p14, c0, [r9, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r10, #0]! +ldcge p14, c0, [r10, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r11, #0]! +ldcge p14, c0, [r11, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [r12, #0]! +ldcge p14, c0, [r12, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [sp, #0]! +ldcge p14, c0, [sp, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [lr, #0]! +ldcge p14, c0, [lr, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldcge p0, c0, [pc, #0]! +ldcge p14, c0, [pc, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r0] +stclge p14, c0, [r0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r1] +stclge p14, c0, [r1] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r2] +stclge p14, c0, [r2] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r3] +stclge p14, c0, [r3] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r4] +stclge p14, c0, [r4] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r5] +stclge p14, c0, [r5] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r6] +stclge p14, c0, [r6] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r7] +stclge p14, c0, [r7] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r8] +stclge p14, c0, [r8] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r9] +stclge p14, c0, [r9] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r10] +stclge p14, c0, [r10] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r11] +stclge p14, c0, [r11] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r12] +stclge p14, c0, [r12] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [sp] +stclge p14, c0, [sp] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [lr] +stclge p14, c0, [lr] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [pc] +stclge p14, c0, [pc] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r0] +ldclge p14, c0, [r0] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r1] +ldclge p14, c0, [r1] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r2] +ldclge p14, c0, [r2] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r3] +ldclge p14, c0, [r3] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r4] +ldclge p14, c0, [r4] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r5] +ldclge p14, c0, [r5] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r6] +ldclge p14, c0, [r6] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r7] +ldclge p14, c0, [r7] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r8] +ldclge p14, c0, [r8] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r9] +ldclge p14, c0, [r9] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r10] +ldclge p14, c0, [r10] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r11] +ldclge p14, c0, [r11] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r12] +ldclge p14, c0, [r12] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [sp] +ldclge p14, c0, [sp] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [lr] +ldclge p14, c0, [lr] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [pc] +ldclge p14, c0, [pc] @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r0, #0]! +stclge p14, c0, [r0, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r1, #0]! +stclge p14, c0, [r1, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r2, #0]! +stclge p14, c0, [r2, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r3, #0]! +stclge p14, c0, [r3, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r4, #0]! +stclge p14, c0, [r4, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r5, #0]! +stclge p14, c0, [r5, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r6, #0]! +stclge p14, c0, [r6, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r7, #0]! +stclge p14, c0, [r7, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r8, #0]! +stclge p14, c0, [r8, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r9, #0]! +stclge p14, c0, [r9, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r10, #0]! +stclge p14, c0, [r10, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r11, #0]! +stclge p14, c0, [r11, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [r12, #0]! +stclge p14, c0, [r12, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [sp, #0]! +stclge p14, c0, [sp, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [lr, #0]! +stclge p14, c0, [lr, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -stclge p0, c0, [pc, #0]! +stclge p14, c0, [pc, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r0, #0]! +ldclge p14, c0, [r0, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r1, #0]! +ldclge p14, c0, [r1, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r2, #0]! +ldclge p14, c0, [r2, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r3, #0]! +ldclge p14, c0, [r3, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r4, #0]! +ldclge p14, c0, [r4, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r5, #0]! +ldclge p14, c0, [r5, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r6, #0]! +ldclge p14, c0, [r6, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r7, #0]! +ldclge p14, c0, [r7, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r8, #0]! +ldclge p14, c0, [r8, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r9, #0]! +ldclge p14, c0, [r9, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r10, #0]! +ldclge p14, c0, [r10, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r11, #0]! +ldclge p14, c0, [r11, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [r12, #0]! +ldclge p14, c0, [r12, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [sp, #0]! +ldclge p14, c0, [sp, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [lr, #0]! +ldclge p14, c0, [lr, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge -ldclge p0, c0, [pc, #0]! +ldclge p14, c0, [pc, #0]! @ CHECK: :[[@LINE+2]]:1: warning: deprecated instruction in IT block it ge andge r0, r0, #0 diff --git a/llvm/test/MC/Disassembler/ARM/coprocessors-arm.txt b/llvm/test/MC/Disassembler/ARM/coprocessors-arm.txt new file mode 100644 --- /dev/null +++ b/llvm/test/MC/Disassembler/ARM/coprocessors-arm.txt @@ -0,0 +1,68 @@ +# RUN: not llvm-mc -triple=armv7 -disassemble < %s 2> %t | FileCheck --check-prefix=ACCEPT-01234567CD --check-prefix=ACCEPT-89 --check-prefix=ACCEPT-EF %s +# RUN: FileCheck --check-prefix=REJECT-AB < %t %s +# RUN: not llvm-mc -triple=armv8 -disassemble < %s 2> %t | FileCheck --check-prefix=ACCEPT-EF %s +# RUN: FileCheck --check-prefix=REJECT-01234567CD --check-prefix=REJECT-89 --check-prefix=REJECT-AB < %t %s + +[0xb4,0x20,0x33,0xee] +# ACCEPT-01234567CD: mrc p0, #1, r2, c3, c4, #5 +# REJECT-01234567CD: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0xb4,0x21,0x33,0xee] +# ACCEPT-01234567CD: mrc p1, #1, r2, c3, c4, #5 +# REJECT-01234567CD: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0xb4,0x22,0x33,0xee] +# ACCEPT-01234567CD: mrc p2, #1, r2, c3, c4, #5 +# REJECT-01234567CD: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0xb4,0x23,0x33,0xee] +# ACCEPT-01234567CD: mrc p3, #1, r2, c3, c4, #5 +# REJECT-01234567CD: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0xb4,0x24,0x33,0xee] +# ACCEPT-01234567CD: mrc p4, #1, r2, c3, c4, #5 +# REJECT-01234567CD: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0xb4,0x25,0x33,0xee] +# ACCEPT-01234567CD: mrc p5, #1, r2, c3, c4, #5 +# REJECT-01234567CD: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0xb4,0x26,0x33,0xee] +# ACCEPT-01234567CD: mrc p6, #1, r2, c3, c4, #5 +# REJECT-01234567CD: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0xb4,0x27,0x33,0xee] +# ACCEPT-01234567CD: mrc p7, #1, r2, c3, c4, #5 +# REJECT-01234567CD: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0xb4,0x28,0x33,0xee] +# ACCEPT-89: mrc p8, #1, r2, c3, c4, #5 +# REJECT-89: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0xb4,0x29,0x33,0xee] +# ACCEPT-89: mrc p9, #1, r2, c3, c4, #5 +# REJECT-89: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0xb4,0x2a,0x33,0xee] +# ACCEPT-AB: mrc p10, #1, r2, c3, c4, #5 +# REJECT-AB: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0xb4,0x2b,0x33,0xee] +# ACCEPT-AB: mrc p11, #1, r2, c3, c4, #5 +# REJECT-AB: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0xb4,0x2c,0x33,0xee] +# ACCEPT-01234567CD: mrc p12, #1, r2, c3, c4, #5 +# REJECT-01234567CD: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0xb4,0x2d,0x33,0xee] +# ACCEPT-01234567CD: mrc p13, #1, r2, c3, c4, #5 +# REJECT-01234567CD: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0xb4,0x2e,0x33,0xee] +# ACCEPT-EF: mrc p14, #1, r2, c3, c4, #5 +# REJECT-EF: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0xb4,0x2f,0x33,0xee] +# ACCEPT-EF: mrc p15, #1, r2, c3, c4, #5 +# REJECT-EF: [[@LINE-2]]:2: warning: invalid instruction encoding diff --git a/llvm/test/MC/Disassembler/ARM/coprocessors-thumb.txt b/llvm/test/MC/Disassembler/ARM/coprocessors-thumb.txt new file mode 100644 --- /dev/null +++ b/llvm/test/MC/Disassembler/ARM/coprocessors-thumb.txt @@ -0,0 +1,70 @@ +# RUN: not llvm-mc -triple=thumbv7 -disassemble < %s 2> %t | FileCheck --check-prefix=ACCEPT-01234567CD --check-prefix=ACCEPT-89 --check-prefix=ACCEPT-EF %s +# RUN: FileCheck --check-prefix=REJECT-AB < %t %s +# RUN: not llvm-mc -triple=thumbv8 -disassemble < %s 2> %t | FileCheck --check-prefix=ACCEPT-EF %s +# RUN: FileCheck --check-prefix=REJECT-01234567CD --check-prefix=REJECT-89 --check-prefix=REJECT-AB < %t %s +# RUN: not llvm-mc -triple=thumbv8.1m.main -disassemble < %s 2> %t | FileCheck --check-prefix=ACCEPT-01234567CD %s +# RUN: FileCheck --check-prefix=REJECT-89 --check-prefix=REJECT-AB --check-prefix=REJECT-EF < %t %s + +[0x33,0xee,0xb4,0x20] +# ACCEPT-01234567CD: mrc p0, #1, r2, c3, c4, #5 +# REJECT-01234567CD: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0x33,0xee,0xb4,0x21] +# ACCEPT-01234567CD: mrc p1, #1, r2, c3, c4, #5 +# REJECT-01234567CD: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0x33,0xee,0xb4,0x22] +# ACCEPT-01234567CD: mrc p2, #1, r2, c3, c4, #5 +# REJECT-01234567CD: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0x33,0xee,0xb4,0x23] +# ACCEPT-01234567CD: mrc p3, #1, r2, c3, c4, #5 +# REJECT-01234567CD: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0x33,0xee,0xb4,0x24] +# ACCEPT-01234567CD: mrc p4, #1, r2, c3, c4, #5 +# REJECT-01234567CD: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0x33,0xee,0xb4,0x25] +# ACCEPT-01234567CD: mrc p5, #1, r2, c3, c4, #5 +# REJECT-01234567CD: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0x33,0xee,0xb4,0x26] +# ACCEPT-01234567CD: mrc p6, #1, r2, c3, c4, #5 +# REJECT-01234567CD: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0x33,0xee,0xb4,0x27] +# ACCEPT-01234567CD: mrc p7, #1, r2, c3, c4, #5 +# REJECT-01234567CD: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0x33,0xee,0xb4,0x28] +# ACCEPT-89: mrc p8, #1, r2, c3, c4, #5 +# REJECT-89: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0x33,0xee,0xb4,0x29] +# ACCEPT-89: mrc p9, #1, r2, c3, c4, #5 +# REJECT-89: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0x33,0xee,0xb4,0x2a] +# ACCEPT-AB: mrc p10, #1, r2, c3, c4, #5 +# REJECT-AB: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0x33,0xee,0xb4,0x2b] +# ACCEPT-AB: mrc p11, #1, r2, c3, c4, #5 +# REJECT-AB: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0x33,0xee,0xb4,0x2c] +# ACCEPT-01234567CD: mrc p12, #1, r2, c3, c4, #5 +# REJECT-01234567CD: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0x33,0xee,0xb4,0x2d] +# ACCEPT-01234567CD: mrc p13, #1, r2, c3, c4, #5 +# REJECT-01234567CD: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0x33,0xee,0xb4,0x2e] +# ACCEPT-EF: mrc p14, #1, r2, c3, c4, #5 +# REJECT-EF: [[@LINE-2]]:2: warning: invalid instruction encoding + +[0x33,0xee,0xb4,0x2f] +# ACCEPT-EF: mrc p15, #1, r2, c3, c4, #5 +# REJECT-EF: [[@LINE-2]]:2: warning: invalid instruction encoding