[llvm] r364532 - [ARM] Make coprocessor number restrictions consistent.

Simon Tatham via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 27 05:40:55 PDT 2019


Author: statham
Date: Thu Jun 27 05:40:55 2019
New Revision: 364532

URL: http://llvm.org/viewvc/llvm-project?rev=364532&view=rev
Log:
[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

Added:
    llvm/trunk/test/MC/ARM/coprocessors.s   (with props)
    llvm/trunk/test/MC/Disassembler/ARM/coprocessors-arm.txt   (with props)
    llvm/trunk/test/MC/Disassembler/ARM/coprocessors-thumb.txt   (with props)
Modified:
    llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.h
    llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
    llvm/trunk/test/MC/ARM/diagnostics.s
    llvm/trunk/test/MC/ARM/thumb2-diagnostics.s
    llvm/trunk/test/MC/ARM/v8_IT_manual.s

Modified: llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.h?rev=364532&r1=364531&r2=364532&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.h (original)
+++ llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.h Thu Jun 27 05:40:55 2019
@@ -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.

Modified: llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp?rev=364532&r1=364531&r2=364532&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp (original)
+++ llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp Thu Jun 27 05:40:55 2019
@@ -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(Oper
   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.

Modified: llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp?rev=364532&r1=364531&r2=364532&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp (original)
+++ llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp Thu Jun 27 05:40:55 2019
@@ -4486,14 +4486,7 @@ static DecodeStatus DecodeCoprocessor(MC
   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));

Added: llvm/trunk/test/MC/ARM/coprocessors.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM/coprocessors.s?rev=364532&view=auto
==============================================================================
--- llvm/trunk/test/MC/ARM/coprocessors.s (added)
+++ llvm/trunk/test/MC/ARM/coprocessors.s Thu Jun 27 05:40:55 2019
@@ -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

Propchange: llvm/trunk/test/MC/ARM/coprocessors.s
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: llvm/trunk/test/MC/ARM/coprocessors.s
------------------------------------------------------------------------------
    svn:keywords = Rev Date Author URL Id

Modified: llvm/trunk/test/MC/ARM/diagnostics.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM/diagnostics.s?rev=364532&r1=364531&r2=364532&view=diff
==============================================================================
--- llvm/trunk/test/MC/ARM/diagnostics.s (original)
+++ llvm/trunk/test/MC/ARM/diagnostics.s Thu Jun 27 05:40:55 2019
@@ -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]

Modified: llvm/trunk/test/MC/ARM/thumb2-diagnostics.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM/thumb2-diagnostics.s?rev=364532&r1=364531&r2=364532&view=diff
==============================================================================
--- llvm/trunk/test/MC/ARM/thumb2-diagnostics.s (original)
+++ llvm/trunk/test/MC/ARM/thumb2-diagnostics.s Thu Jun 27 05:40:55 2019
@@ -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]

Modified: llvm/trunk/test/MC/ARM/v8_IT_manual.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM/v8_IT_manual.s?rev=364532&r1=364531&r2=364532&view=diff
==============================================================================
--- llvm/trunk/test/MC/ARM/v8_IT_manual.s (original)
+++ llvm/trunk/test/MC/ARM/v8_IT_manual.s Thu Jun 27 05:40:55 2019
@@ -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

Added: llvm/trunk/test/MC/Disassembler/ARM/coprocessors-arm.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Disassembler/ARM/coprocessors-arm.txt?rev=364532&view=auto
==============================================================================
--- llvm/trunk/test/MC/Disassembler/ARM/coprocessors-arm.txt (added)
+++ llvm/trunk/test/MC/Disassembler/ARM/coprocessors-arm.txt Thu Jun 27 05:40:55 2019
@@ -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

Propchange: llvm/trunk/test/MC/Disassembler/ARM/coprocessors-arm.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: llvm/trunk/test/MC/Disassembler/ARM/coprocessors-arm.txt
------------------------------------------------------------------------------
    svn:keywords = Rev Date Author URL Id

Added: llvm/trunk/test/MC/Disassembler/ARM/coprocessors-thumb.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Disassembler/ARM/coprocessors-thumb.txt?rev=364532&view=auto
==============================================================================
--- llvm/trunk/test/MC/Disassembler/ARM/coprocessors-thumb.txt (added)
+++ llvm/trunk/test/MC/Disassembler/ARM/coprocessors-thumb.txt Thu Jun 27 05:40:55 2019
@@ -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

Propchange: llvm/trunk/test/MC/Disassembler/ARM/coprocessors-thumb.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: llvm/trunk/test/MC/Disassembler/ARM/coprocessors-thumb.txt
------------------------------------------------------------------------------
    svn:keywords = Rev Date Author URL Id




More information about the llvm-commits mailing list