From c27a34eed4e279c21ef324196a6c7960f4ec387b Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Thu, 27 Jun 2019 12:40:55 +0000 Subject: [PATCH] [ARM] Make coprocessor number restrictions consistent. Different versions of the Arm architecture disallow the use of generic coprocessor instructions like MCR and CDP on different sets of coprocessors. This commit centralises the check of the coprocessor number so that it's consistent between assembly and disassembly, and also updates it for the new restrictions in Arm v8.1-M. New tests added that check all the coprocessor numbers; old tests updated, where they used a number that's now become illegal in the context in question. Reviewers: DavidSpickett, ostannard Subscribers: javed.absar, kristof.beyls, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63863 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364532 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/ARMBaseInstrInfo.h | 22 + lib/Target/ARM/AsmParser/ARMAsmParser.cpp | 4 +- .../ARM/Disassembler/ARMDisassembler.cpp | 9 +- test/MC/ARM/coprocessors.s | 74 ++ test/MC/ARM/diagnostics.s | 24 +- test/MC/ARM/thumb2-diagnostics.s | 4 +- test/MC/ARM/v8_IT_manual.s | 928 +++++++++--------- test/MC/Disassembler/ARM/coprocessors-arm.txt | 68 ++ .../Disassembler/ARM/coprocessors-thumb.txt | 70 ++ 9 files changed, 715 insertions(+), 488 deletions(-) create mode 100644 test/MC/ARM/coprocessors.s create mode 100644 test/MC/Disassembler/ARM/coprocessors-arm.txt create mode 100644 test/MC/Disassembler/ARM/coprocessors-thumb.txt diff --git a/lib/Target/ARM/ARMBaseInstrInfo.h b/lib/Target/ARM/ARMBaseInstrInfo.h index 465d13803fd..c28983fcc15 100644 --- a/lib/Target/ARM/ARMBaseInstrInfo.h +++ b/lib/Target/ARM/ARMBaseInstrInfo.h @@ -524,6 +524,28 @@ static inline bool isPushOpcode(int Opc) { 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/lib/Target/ARM/AsmParser/ARMAsmParser.cpp b/lib/Target/ARM/AsmParser/ARMAsmParser.cpp index 76734a6b13e..3ff3af9dd58 100644 --- a/lib/Target/ARM/AsmParser/ARMAsmParser.cpp +++ b/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 @@ ARMAsmParser::parseCoprocNumOperand(OperandVector &Operands) { 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/lib/Target/ARM/Disassembler/ARMDisassembler.cpp b/lib/Target/ARM/Disassembler/ARMDisassembler.cpp index c6ae7d26bf9..548fb10fb3f 100644 --- a/lib/Target/ARM/Disassembler/ARMDisassembler.cpp +++ b/lib/Target/ARM/Disassembler/ARMDisassembler.cpp @@ -4486,14 +4486,7 @@ static DecodeStatus DecodeCoprocessor(MCInst &Inst, unsigned Val, 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/test/MC/ARM/coprocessors.s b/test/MC/ARM/coprocessors.s new file mode 100644 index 00000000000..d2ef5815788 --- /dev/null +++ b/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/test/MC/ARM/diagnostics.s b/test/MC/ARM/diagnostics.s index d9ca8a53a0c..1e84a802f29 100644 --- a/test/MC/ARM/diagnostics.s +++ b/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/test/MC/ARM/thumb2-diagnostics.s b/test/MC/ARM/thumb2-diagnostics.s index fdbcd11b481..ccc9d7b9df6 100644 --- a/test/MC/ARM/thumb2-diagnostics.s +++ b/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/test/MC/ARM/v8_IT_manual.s b/test/MC/ARM/v8_IT_manual.s index f4c5bcbe064..b082002f4ff 100644 --- a/test/MC/ARM/v8_IT_manual.s +++ b/test/MC/ARM/v8_IT_manual.s @@ -1832,148 +1832,148 @@ it ge 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 @@ it ge 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/test/MC/Disassembler/ARM/coprocessors-arm.txt b/test/MC/Disassembler/ARM/coprocessors-arm.txt new file mode 100644 index 00000000000..c2e32403d7b --- /dev/null +++ b/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/test/MC/Disassembler/ARM/coprocessors-thumb.txt b/test/MC/Disassembler/ARM/coprocessors-thumb.txt new file mode 100644 index 00000000000..9e3ae35b0b7 --- /dev/null +++ b/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 -- 2.50.1