aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2009-01-29 11:56:19 +0000
committerJoseph Myers <joseph@codesourcery.com>2009-01-29 11:56:19 +0000
commitfdfde340537dfac5eec37e75399069cb76717c0c (patch)
treea74ade99daf4b36a0c8bd05d046025a6e28e8306 /gas/testsuite
parent1c444d06c11062e157693de027f26a6ed2e85119 (diff)
downloadgdb-fdfde340537dfac5eec37e75399069cb76717c0c.zip
gdb-fdfde340537dfac5eec37e75399069cb76717c0c.tar.gz
gdb-fdfde340537dfac5eec37e75399069cb76717c0c.tar.bz2
gas:
2009-01-29 Mark Mitchell <mark@codesourcery.com> * config/tc-arm.c (BAD_SP): Define. (s_arm_unwind_fnstart): Use REG_SP. (s_arm_unwind_setfp): Likewise. (reject_bad_reg): New macro. (do_co_reg): Check for bad registers. (do_co_reg2c): Likewise. (do_srs): Use REG_SP. (do_t_add_sub): Check for bad registers. (do_t_adr): Likewise. (do_t_arit3): Likewise. (do_t_arit3c): Likewise. (do_t_bfc): Likewise. (do_t_bfi): Likewise. (do_t_bfx): Likewise. (do_t_blx): Likewise. (do_t_bx): Likewise. (do_t_bxj): Likewise. (do_t_clz): Likewise. (do_t_div): Likewise. (do_t_mla): Likewise. (do_t_mlal): Likewise. (do_t_mov_cmp): Likewise. (do_t_mov16): Likewise. (do_t_mvn_tst): Likewise. (do_t_mrs): Likewise. (do_t_msr): Likewise. (do_t_mul): Likewise. (do_t_mull): Likewise. (do_t_orn): Likewise. (do_t_pkhbt): Likewise. (do_t_pld): Likewise. (do_t_rbit): Likewise. (do_t_rev): Likewise. (do_t_rrx): Likewise. (do_t_rsb): Likewise. (do_t_shift): Likewise. (do_t_simd): Likewise. (do_t_ssat): Likewise. (do_t_ssat16): Likewise. (do_t_sxtah): Likewise. (do_t_sxth): Likewise. (do_t_tb): Likewise. (do_t_usat): Likewise. (do_t_usat16): Likewise. (nysn_insert_sp): Use REG_SP. gas/testsuite: 2009-01-29 Mark Mitchell <mark@codesourcery.com> * gas/arm/copro.s: Avoid using r15 where not permitted. * gas/arm/copro.d: Adjust accordingly. * gas/arm/thumb2_bad_reg.s: New. * gas/arm/thumb2_bad_reg.l: Likewise. * gas/arm/thumb2_bad_reg.d: Likewise.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/ChangeLog8
-rw-r--r--gas/testsuite/gas/arm/copro.d2
-rw-r--r--gas/testsuite/gas/arm/copro.s2
-rw-r--r--gas/testsuite/gas/arm/thumb2_bad_reg.d3
-rw-r--r--gas/testsuite/gas/arm/thumb2_bad_reg.l781
-rw-r--r--gas/testsuite/gas/arm/thumb2_bad_reg.s969
6 files changed, 1763 insertions, 2 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 6b14d43..9c4a9fb 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,5 +1,13 @@
2009-01-29 Mark Mitchell <mark@codesourcery.com>
+ * gas/arm/copro.s: Avoid using r15 where not permitted.
+ * gas/arm/copro.d: Adjust accordingly.
+ * gas/arm/thumb2_bad_reg.s: New.
+ * gas/arm/thumb2_bad_reg.l: Likewise.
+ * gas/arm/thumb2_bad_reg.d: Likewise.
+
+2009-01-29 Mark Mitchell <mark@codesourcery.com>
+
* gas/arm/thumb32.s: Add tests for orn and rrx.
* gas/arm/thumb32.d: Adjust accordingly.
* gas/arm/thumb32.l: Likewise.
diff --git a/gas/testsuite/gas/arm/copro.d b/gas/testsuite/gas/arm/copro.d
index 37d0f2d..ce79031 100644
--- a/gas/testsuite/gas/arm/copro.d
+++ b/gas/testsuite/gas/arm/copro.d
@@ -21,7 +21,7 @@ Disassembly of section .text:
0+02c <[^>]*> ed0f7101 stfs f7, \[pc, #-4\]
0+030 <[^>]*> ee715212 mrc 2, 3, r5, cr1, cr2, \{0\}
0+034 <[^>]*> aeb1f4f2 mrcge 4, 5, pc, cr1, cr2, \{7\}
-0+038 <[^>]*> ee21f711 mcr 7, 1, pc, cr1, cr1, \{0\}
+0+038 <[^>]*> ee215711 mcr 7, 1, r5, cr1, cr1, \{0\}
0+03c <[^>]*> be228519 mcrlt 5, 1, r8, cr2, cr9, \{0\}
0+040 <[^>]*> ec907300 ldc 3, cr7, \[r0\], \{0\}
0+044 <[^>]*> ec816e01 stc 14, cr6, \[r1\], \{1\}
diff --git a/gas/testsuite/gas/arm/copro.s b/gas/testsuite/gas/arm/copro.s
index e697632..b9ef056 100644
--- a/gas/testsuite/gas/arm/copro.s
+++ b/gas/testsuite/gas/arm/copro.s
@@ -20,7 +20,7 @@ bar:
mrc 2, 3, r5, c1, c2
mrcge p4, 5, r15, cr1, cr2, 7
- mcr p7, 1, r15, cr1, cr1
+ mcr p7, 1, r5, cr1, cr1
mcrlt 5, 1, r8, cr2, cr9, 0
@ The following patterns test Addressing Mode 5 "Unindexed"
diff --git a/gas/testsuite/gas/arm/thumb2_bad_reg.d b/gas/testsuite/gas/arm/thumb2_bad_reg.d
new file mode 100644
index 0000000..8712855
--- /dev/null
+++ b/gas/testsuite/gas/arm/thumb2_bad_reg.d
@@ -0,0 +1,3 @@
+#name: Invalid r13/r15 register usage
+#as: -march=armv7r
+#error-output: thumb2_bad_reg.l
diff --git a/gas/testsuite/gas/arm/thumb2_bad_reg.l b/gas/testsuite/gas/arm/thumb2_bad_reg.l
new file mode 100644
index 0000000..46b4924
--- /dev/null
+++ b/gas/testsuite/gas/arm/thumb2_bad_reg.l
@@ -0,0 +1,781 @@
+[^:]*: Assembler messages:
+[^:]*:[0-9]+: Error: r13 not allowed here -- `adc r13,r0,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `adc r15,r0,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `adc r0,r13,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `adc r0,r15,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `adc.w r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `adc.w r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `adc.w r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `adc.w r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `adc.w r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `adc.w r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `add.w r13,r0,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `add.w r15,r0,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `addw r13,r0,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `addw r15,r0,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `add.w r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `add.w r15,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `adds.w r15,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `add.w r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `add.w r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `add.w r0,r1,r15'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `add.w r15,r13,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `adds.w r15,r13,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `addw r15,r13,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `add.w r15,r13,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `add.w r0,r13,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `add.w r0,r13,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `adr.w r13,test'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `adr.w r15,test'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `and r13,r0,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `and r15,r0,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `and r0,r13,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `and r0,r15,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `and.w r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `and.w r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `and.w r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `and.w r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `and.w r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `and.w r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `asr r13,r0,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `asr r15,r0,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `asr r0,r13,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `asr r0,r15,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `asr.w r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `asr.w r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `asr.w r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `asr.w r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `asr.w r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `asr.w r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `bfc r13,#1,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `bfc r15,#1,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `bfi r13,r0,#1,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `bfi r15,r0,#1,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `bfi r0,r13,#1,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `bfi r0,r15,#1,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `bic r13,r0,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `bic r15,r0,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `bic r0,r13,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `bic r0,r15,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `bic.w r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `bic.w r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `bic.w r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `bic.w r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `bic.w r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `bic.w r0,r1,r15'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `blx r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `bxj r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `bxj r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `clz r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `clz r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `clz r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `clz r0,r15'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `cmn r15,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `cmn.w r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `cmn.w r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `cmn.w r0,r15'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `cmp.w r15,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `cmp r15,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `cmp.w r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `cmp.w r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `cmp.w r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `eor r13,r0,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `eor r15,r0,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `eor r0,r13,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `eor r0,r15,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `eor.w r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `eor.w r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `eor.w r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `eor.w r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `eor.w r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `eor.w r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `lsl r13,r0,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `lsl r15,r0,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `lsl r0,r13,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `lsl r0,r15,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `lsl.w r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `lsl.w r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `lsl.w r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `lsl.w r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `lsl.w r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `lsl.w r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `lsr r13,r0,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `lsr r15,r0,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `lsr r0,r13,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `lsr r0,r15,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `lsr.w r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `lsr.w r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `lsr.w r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `lsr.w r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `lsr.w r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `lsr.w r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mcr p0,#1,r13,cr0,cr0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mcr p0,#1,r15,cr0,cr0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mcrr p0,#1,r13,r0,cr0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mcrr p0,#1,r15,r0,cr0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mcrr p0,#1,r0,r13,cr0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mcrr p0,#1,r0,r15,cr0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mla r13,r0,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mla r15,r0,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mla r0,r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mla r0,r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mla r0,r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mla r0,r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mla r0,r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mla r0,r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mls r13,r0,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mls r15,r0,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mls r0,r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mls r0,r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mls r0,r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mls r0,r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mls r0,r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mls r0,r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mov.w r13,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mov.w r15,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `movs.w r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `movs.w r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `movs.w r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `movs.w r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mov.w r13,r13'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mov.w r15,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mov.w r13,r15'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mov.w r15,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `movt r13,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `movt r15,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mrc p0,#1,r13,cr0,cr0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mrrc p0,#1,r13,r0,cr0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mrrc p0,#1,r15,r0,cr0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mrrc p0,#1,r0,r13,cr0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mrrc p0,#1,r0,r15,cr0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mrs r13,cpsr'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mrs r15,cpsr'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `msr cpsr,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `msr cpsr,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mul r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mul r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mul r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mul r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mul r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mul r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mvn r13,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mvn r15,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mvn.w r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mvn.w r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `mvn.w r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `mvn.w r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `orn r13,r0,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `orn r15,r0,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `orn r0,r13,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `orn r0,r15,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `orn r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `orn r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `orn r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `orn r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `orn r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `orn r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `orr r13,r0,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `orr r15,r0,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `orr r0,r13,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `orr r0,r15,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `orr r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `orr r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `orr r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `orr r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `orr r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `orr r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `pkhbt r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `pkhbt r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `pkhbt r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `pkhbt r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `pkhbt r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `pkhbt r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `pld \[r0,r13\]'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `pld \[r0,r15\]'
+[^:]*:[0-9]+: Error: cannot use register index with PC-relative addressing -- `pld \[r15,r0\]'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `pli \[r0,r13\]'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `pli \[r0,r15\]'
+[^:]*:[0-9]+: Error: cannot use register index with PC-relative addressing -- `pli \[r15,r0\]'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qadd r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qadd r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qadd r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qadd r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qadd r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qadd r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qadd16 r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qadd16 r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qadd16 r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qadd16 r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qadd16 r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qadd16 r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qadd8 r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qadd8 r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qadd8 r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qadd8 r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qadd8 r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qadd8 r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qasx r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qasx r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qasx r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qasx r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qasx r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qasx r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qdadd r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qdadd r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qdadd r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qdadd r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qdadd r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qdadd r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qdsub r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qdsub r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qdsub r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qdsub r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qdsub r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qdsub r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qsax r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qsax r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qsax r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qsax r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qsax r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qsax r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qsub r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qsub r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qsub r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qsub r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qsub r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qsub r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qsub16 r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qsub16 r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qsub16 r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qsub16 r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qsub16 r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qsub16 r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qsub8 r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qsub8 r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qsub8 r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qsub8 r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `qsub8 r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `qsub8 r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `rbit r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `rbit r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `rbit r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `rbit r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `rev.w r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `rev.w r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `rev.w r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `rev.w r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `rev16.w r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `rev16.w r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `rev16.w r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `rev16.w r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `revsh.w r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `revsh.w r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `revsh.w r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `revsh.w r0,r15'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `rfedb r15'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `rfeia r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `ror r13,r0,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `ror r15,r0,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `ror r0,r13,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `ror r0,r15,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `ror.w r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `ror.w r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `ror.w r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `ror.w r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `ror.w r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `ror.w r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `rrx r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `rrx r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `rrx r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `rrx r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `rsb.w r13,r0,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `rsb.w r15,r0,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `rsb.w r0,r13,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `rsb.w r0,r15,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `rsb r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `rsb r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `rsb r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `rsb r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `rsb r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `rsb r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sadd16 r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sadd16 r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sadd16 r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sadd16 r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sadd16 r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sadd16 r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sadd8 r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sadd8 r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sadd8 r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sadd8 r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sadd8 r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sadd8 r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sasx r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sasx r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sasx r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sasx r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sasx r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sasx r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sbc r13,r0,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sbc r15,r0,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sbc r0,r13,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sbc r0,r15,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sbc r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sbc r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sbc r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sbc r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sbc r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sbc r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sbfx r13,r0,#1,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sbfx r15,r0,#1,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sbfx r0,r13,#1,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sbfx r0,r15,#1,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sdiv r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sdiv r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sdiv r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sdiv r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sdiv r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sdiv r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sel r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sel r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sel r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sel r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sel r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sel r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `shadd16 r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `shadd16 r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `shadd16 r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `shadd16 r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `shadd16 r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `shadd16 r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `shadd8 r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `shadd8 r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `shadd8 r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `shadd8 r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `shadd8 r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `shadd8 r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `shasx r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `shasx r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `shasx r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `shasx r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `shasx r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `shasx r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `shsax r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `shsax r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `shsax r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `shsax r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `shsax r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `shsax r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `shsub16 r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `shsub16 r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `shsub16 r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `shsub16 r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `shsub16 r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `shsub16 r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `shsub8 r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `shsub8 r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `shsub8 r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `shsub8 r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `shsub8 r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `shsub8 r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlabb r13,r0,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlabb r15,r0,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlabb r0,r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlabb r0,r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlabb r0,r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlabb r0,r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlabb r0,r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlabb r0,r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlad r13,r0,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlad r15,r0,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlad r0,r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlad r0,r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlad r0,r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlad r0,r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlad r0,r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlad r0,r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlal r13,r0,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlal r15,r0,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlal r0,r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlal r0,r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlal r0,r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlal r0,r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlal r0,r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlal r0,r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlalbb r13,r0,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlalbb r15,r0,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlalbb r0,r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlalbb r0,r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlalbb r0,r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlalbb r0,r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlalbb r0,r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlalbb r0,r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlald r13,r0,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlald r15,r0,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlald r0,r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlald r0,r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlald r0,r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlald r0,r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlald r0,r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlald r0,r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlawb r13,r0,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlawb r15,r0,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlawb r0,r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlawb r0,r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlawb r0,r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlawb r0,r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlawb r0,r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlawb r0,r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlsd r13,r0,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlsd r15,r0,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlsd r0,r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlsd r0,r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlsd r0,r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlsd r0,r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlsd r0,r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlsd r0,r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlsld r13,r0,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlsld r15,r0,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlsld r0,r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlsld r0,r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlsld r0,r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlsld r0,r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smlsld r0,r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smlsld r0,r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smmla r13,r0,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smmla r15,r0,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smmla r0,r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smmla r0,r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smmla r0,r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smmla r0,r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smmla r0,r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smmla r0,r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smmls r13,r0,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smmls r15,r0,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smmls r0,r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smmls r0,r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smmls r0,r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smmls r0,r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smmls r0,r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smmls r0,r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smmul r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smmul r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smmul r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smmul r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smmul r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smmul r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smuad r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smuad r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smuad r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smuad r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smuad r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smuad r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smulbb r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smulbb r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smulbb r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smulbb r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smulbb r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smulbb r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smull r13,r0,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smull r15,r0,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smull r0,r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smull r0,r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smull r0,r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smull r0,r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smull r0,r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smull r0,r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smulwb r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smulwb r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smulwb r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smulwb r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smulwb r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smulwb r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smusd r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smusd r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smusd r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smusd r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `smusd r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `smusd r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `ssat r13,#1,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `ssat r15,#1,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `ssat r0,#1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `ssat r0,#1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `ssat16 r13,#1,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `ssat16 r15,#1,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `ssat16 r0,#1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `ssat16 r0,#1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `ssax r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `ssax r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `ssax r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `ssax r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `ssax r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `ssax r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `ssub16 r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `ssub16 r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `ssub16 r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `ssub16 r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `ssub16 r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `ssub16 r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `ssub8 r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `ssub8 r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `ssub8 r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `ssub8 r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `ssub8 r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `ssub8 r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sub.w r13,r0,#1'
+[^:]*:[0-9]+: Error: only SUBS PC, LR, #const allowed -- `sub.w r15,r0,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `subw r13,r0,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `subw r15,r0,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sub.w r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sub.w r15,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sub.w r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sub.w r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sub.w r0,r1,r15'
+[^:]*:[0-9]+: Error: only SUBS PC, LR, #const allowed -- `sub.w r15,r13,#1'
+[^:]*:[0-9]+: Error: only SUBS PC, LR, #const allowed -- `subs.w r15,r13,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `subw r15,r13,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sub.w r15,r13,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sub.w r0,r13,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sub.w r0,r13,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sxtab r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sxtab r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sxtab r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sxtab r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sxtab r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sxtab r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sxtab16 r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sxtab16 r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sxtab16 r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sxtab16 r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sxtab16 r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sxtab16 r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sxtah r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sxtah r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sxtah r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sxtah r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sxtah r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sxtah r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sxtb r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sxtb r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sxtb r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sxtb r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sxtb16 r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sxtb16 r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sxtb16 r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sxtb16 r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sxth r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sxth r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `sxth r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `sxth r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `tbb \[r13,r0]'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `tbb \[r0,r13]'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `tbb \[r0,r15]'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `tbh \[r13,r0]'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `tbh \[r0,r13]'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `tbh \[r0,r15]'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `teq r13,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `teq r15,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `teq r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `teq r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `teq r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `teq r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `tst r13,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `tst r15,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `tst.w r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `tst.w r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `tst.w r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `tst.w r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uadd16 r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uadd16 r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uadd16 r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uadd16 r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uadd16 r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uadd16 r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uadd8 r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uadd8 r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uadd8 r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uadd8 r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uadd8 r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uadd8 r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uasx r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uasx r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uasx r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uasx r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uasx r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uasx r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `ubfx r13,r0,#1,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `ubfx r15,r0,#1,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `ubfx r0,r13,#1,#1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `ubfx r0,r15,#1,#1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `udiv r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `udiv r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `udiv r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `udiv r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `udiv r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `udiv r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uhadd16 r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uhadd16 r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uhadd16 r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uhadd16 r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uhadd16 r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uhadd16 r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uhadd8 r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uhadd8 r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uhadd8 r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uhadd8 r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uhadd8 r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uhadd8 r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uhasx r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uhasx r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uhasx r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uhasx r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uhasx r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uhasx r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uhsax r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uhsax r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uhsax r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uhsax r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uhsax r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uhsax r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uhsub16 r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uhsub16 r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uhsub16 r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uhsub16 r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uhsub16 r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uhsub16 r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uhsub8 r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uhsub8 r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uhsub8 r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uhsub8 r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uhsub8 r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uhsub8 r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `umaal r13,r0,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `umaal r15,r0,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `umaal r0,r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `umaal r0,r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `umaal r0,r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `umaal r0,r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `umaal r0,r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `umaal r0,r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `umlal r13,r0,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `umlal r15,r0,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `umlal r0,r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `umlal r0,r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `umlal r0,r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `umlal r0,r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `umlal r0,r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `umlal r0,r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `umull r13,r0,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `umull r15,r0,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `umull r0,r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `umull r0,r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `umull r0,r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `umull r0,r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `umull r0,r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `umull r0,r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uqadd16 r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uqadd16 r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uqadd16 r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uqadd16 r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uqadd16 r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uqadd16 r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uqadd8 r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uqadd8 r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uqadd8 r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uqadd8 r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uqadd8 r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uqadd8 r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uqasx r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uqasx r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uqasx r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uqasx r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uqasx r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uqasx r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uqsax r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uqsax r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uqsax r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uqsax r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uqsax r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uqsax r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uqsub16 r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uqsub16 r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uqsub16 r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uqsub16 r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uqsub16 r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uqsub16 r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uqsub8 r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uqsub8 r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uqsub8 r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uqsub8 r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uqsub8 r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uqsub8 r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `usad8 r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `usad8 r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `usad8 r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `usad8 r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `usad8 r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `usad8 r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `usada8 r13,r0,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `usada8 r15,r0,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `usada8 r0,r13,r0,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `usada8 r0,r15,r0,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `usada8 r0,r0,r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `usada8 r0,r0,r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `usada8 r0,r0,r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `usada8 r0,r0,r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `usat r13,#1,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `usat r15,#1,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `usat r0,#1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `usat r0,#1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `usat16 r13,#1,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `usat16 r15,#1,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `usat16 r0,#1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `usat16 r0,#1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `usax r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `usax r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `usax r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `usax r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `usax r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `usax r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `usub16 r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `usub16 r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `usub16 r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `usub16 r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `usub16 r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `usub16 r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `usub8 r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `usub8 r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `usub8 r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `usub8 r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `usub8 r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `usub8 r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uxtab r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uxtab r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uxtab r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uxtab r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uxtab r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uxtab r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uxtab16 r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uxtab16 r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uxtab16 r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uxtab16 r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uxtab16 r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uxtab16 r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uxtah r13,r0,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uxtah r15,r0,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uxtah r0,r13,r1'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uxtah r0,r15,r1'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uxtah r0,r1,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uxtah r0,r1,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uxtb r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uxtb r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uxtb r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uxtb r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uxtb16 r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uxtb16 r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uxtb16 r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uxtb16 r0,r15'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uxth r13,r0'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uxth r15,r0'
+[^:]*:[0-9]+: Error: r13 not allowed here -- `uxth r0,r13'
+[^:]*:[0-9]+: Error: r15 not allowed here -- `uxth r0,r15'
diff --git a/gas/testsuite/gas/arm/thumb2_bad_reg.s b/gas/testsuite/gas/arm/thumb2_bad_reg.s
new file mode 100644
index 0000000..77134c3
--- /dev/null
+++ b/gas/testsuite/gas/arm/thumb2_bad_reg.s
@@ -0,0 +1,969 @@
+ .syntax unified
+ .text
+ .align 2
+ .thumb
+ .thumb_func
+test:
+ @ ADC (immediate)
+ adc r13, r0, #1
+ adc r15, r0, #1
+ adc r0, r13, #1
+ adc r0, r15, #1
+ @ ADC (register)
+ adc.w r13, r0, r1
+ adc.w r15, r0, r1
+ adc.w r0, r13, r1
+ adc.w r0, r15, r1
+ adc.w r0, r1, r13
+ adc.w r0, r1, r15
+ @ ADD (immediate)
+ add.w r13, r0, #1
+ add.w r15, r0, #1
+ add.w r0, r13, #1 @ ADD (SP plus immediate)
+ add.w r0, r15, #1 @ Converted implicitly to ADDW
+ addw r13, r0, #1
+ addw r15, r0, #1
+ addw r0, r13, #1 @ ADD (SP plus immediate)
+ addw r0, r15, #1 @ ADR
+ @ ADD (register)
+ add.w r13, r0, r1
+ add.w r15, r0, r1
+ adds.w r15, r0, r1
+ add.w r0, r13, r1 @ ADD (SP plus register)
+ add.w r0, r15, r1
+ add.w r0, r1, r13
+ add.w r0, r1, r15
+ @ ADD (SP plus immediate)
+ add.w r0, r13, #1 @ OK
+ add.w r15, r13, #1
+ adds.w r15, r13, #1
+ addw r15, r13, #1
+ @ ADD (SP plus register)
+ add.w r15, r13, r0
+ add.w r0, r13, r13
+ add.w r0, r13, r15
+ @ ADR
+ adr.w r13, test
+ adr.w r15, test
+ @ AND (immediate)
+ and r13, r0, #1
+ and r15, r0, #1
+ and r0, r13, #1
+ and r0, r15, #1
+ @ AND (register)
+ and.w r13, r0, r1
+ and.w r15, r0, r1
+ and.w r0, r13, r1
+ and.w r0, r15, r1
+ and.w r0, r1, r13
+ and.w r0, r1, r15
+ @ ASR (immediate)
+ asr r13, r0, #1
+ asr r15, r0, #1
+ asr r0, r13, #1
+ asr r0, r15, #1
+ @ ASR (register)
+ asr.w r13, r0, r1
+ asr.w r15, r0, r1
+ asr.w r0, r13, r1
+ asr.w r0, r15, r1
+ asr.w r0, r1, r13
+ asr.w r0, r1, r15
+ @ BFC
+ bfc r13, #1, #1
+ bfc r15, #1, #1
+ @ BFI
+ bfi r13, r0, #1, #1
+ bfi r15, r0, #1, #1
+ bfi r0, r13, #1, #1
+ bfi r0, r15, #1, #1
+ @ BIC (immediate)
+ bic r13, r0, #1
+ bic r15, r0, #1
+ bic r0, r13, #1
+ bic r0, r15, #1
+ @ BIC (register)
+ bic.w r13, r0, r1
+ bic.w r15, r0, r1
+ bic.w r0, r13, r1
+ bic.w r0, r15, r1
+ bic.w r0, r1, r13
+ bic.w r0, r1, r15
+ @ BLX (register)
+ blx r13 @ OK
+ blx r15
+ @ BXJ
+ bxj r13
+ bxj r15
+ @ CLZ
+ clz r13, r0
+ clz r15, r0
+ clz r0, r13
+ clz r0, r15
+ @ CMN (immediate)
+ cmn r13, #1 @ OK
+ cmn r15, #1
+ @ CMN (register)
+ cmn.w r13, r0 @ OK
+ cmn.w r15, r0
+ cmn.w r0, r13
+ cmn.w r0, r15
+ @ CMP (immediate)
+ cmp.w r13, #1 @ OK
+ cmp.w r15, #1
+ @ CMP (register)
+ cmp r13, r0 @ OK
+ cmp r15, r0
+ cmp.w r13, r0 @ OK
+ cmp.w r15, r0
+ cmp.w r0, r13
+ cmp.w r0, r15
+ @ EOR (immediate)
+ eor r13, r0, #1
+ eor r15, r0, #1
+ eor r0, r13, #1
+ eor r0, r15, #1
+ @ EOR (register)
+ eor.w r13, r0, r1
+ eor.w r15, r0, r1
+ eor.w r0, r13, r1
+ eor.w r0, r15, r1
+ eor.w r0, r1, r13
+ eor.w r0, r1, r15
+ @ LSL (immediate)
+ lsl r13, r0, #1
+ lsl r15, r0, #1
+ lsl r0, r13, #1
+ lsl r0, r15, #1
+ @ LSL (register)
+ lsl.w r13, r0, r1
+ lsl.w r15, r0, r1
+ lsl.w r0, r13, r1
+ lsl.w r0, r15, r1
+ lsl.w r0, r1, r13
+ lsl.w r0, r1, r15
+ @ LSR (immediate)
+ lsr r13, r0, #1
+ lsr r15, r0, #1
+ lsr r0, r13, #1
+ lsr r0, r15, #1
+ @ LSR (register)
+ lsr.w r13, r0, r1
+ lsr.w r15, r0, r1
+ lsr.w r0, r13, r1
+ lsr.w r0, r15, r1
+ lsr.w r0, r1, r13
+ lsr.w r0, r1, r15
+ @ MCR
+ mcr p0, #1, r13, cr0, cr0
+ mcr p0, #1, r15, cr0, cr0 @ OK
+ @ MCRR
+ mcrr p0, #1, r13, r0, cr0
+ mcrr p0, #1, r15, r0, cr0
+ mcrr p0, #1, r0, r13, cr0
+ mcrr p0, #1, r0, r15, cr0
+ @ MLA
+ mla r13, r0, r0, r0
+ mla r15, r0, r0, r0
+ mla r0, r13, r0, r0
+ mla r0, r15, r0, r0
+ mla r0, r0, r13, r0
+ mla r0, r0, r15, r0
+ mla r0, r0, r0, r13
+ mla r0, r0, r0, r15
+ @ MLS
+ mls r13, r0, r0, r0
+ mls r15, r0, r0, r0
+ mls r0, r13, r0, r0
+ mls r0, r15, r0, r0
+ mls r0, r0, r13, r0
+ mls r0, r0, r15, r0
+ mls r0, r0, r0, r13
+ mls r0, r0, r0, r15
+ @ MOV (immediate)
+ mov.w r13, #1
+ mov.w r15, #1
+ @ MOV (register)
+ mov r13, r0 @ OK
+ mov r15, r0 @ OK
+ mov.w r0, r13 @ OK
+ mov.w r0, r15 @ OK
+ mov.w r15, r0 @ OK
+ mov.w r13, r0 @ OK
+ movs.w r0, r13
+ movs.w r0, r15
+ movs.w r13, r0
+ movs.w r15, r0
+ mov.w r13, r13
+ mov.w r15, r13
+ mov.w r13, r15
+ mov.w r15, r15
+ @ MOVT
+ movt r13, #1
+ movt r15, #1
+ @ MRC
+ mrc p0, #1, r13, cr0, cr0
+ mrc p0, #1, r15, cr0, cr0 @ OK
+ @ MRCC
+ mrrc p0, #1, r13, r0, cr0
+ mrrc p0, #1, r15, r0, cr0
+ mrrc p0, #1, r0, r13, cr0
+ mrrc p0, #1, r0, r15, cr0
+ @ MRS
+ mrs r13, cpsr
+ mrs r15, cpsr
+ @ MSR (register)
+ msr cpsr, r13
+ msr cpsr, r15
+ @ MUL
+ mul r13, r0, r0
+ mul r15, r0, r0
+ mul r0, r13, r0
+ mul r0, r15, r0
+ mul r0, r0, r13
+ mul r0, r0, r15
+ @ MVN (immediate)
+ mvn r13, #1
+ mvn r15, #1
+ @ MVN (register)
+ mvn.w r13, r0
+ mvn.w r15, r0
+ mvn.w r0, r13
+ mvn.w r0, r15
+ @ ORN (immediate)
+ orn r13, r0, #1
+ orn r15, r0, #1
+ orn r0, r13, #1
+ orn r0, r15, #1
+ @ ORN (register)
+ orn r13, r0, r0
+ orn r15, r0, r0
+ orn r0, r13, r0
+ orn r0, r15, r0
+ orn r0, r0, r13
+ orn r0, r0, r15
+ @ ORR (immediate)
+ orr r13, r0, #1
+ orr r15, r0, #1
+ orr r0, r13, #1
+ orr r0, r15, #1
+ @ ORR (register)
+ orr r13, r0, r0
+ orr r15, r0, r0
+ orr r0, r13, r0
+ orr r0, r15, r0
+ orr r0, r0, r13
+ orr r0, r0, r15
+ @ PKH
+ pkhbt r13, r0, r0
+ pkhbt r15, r0, r0
+ pkhbt r0, r13, r0
+ pkhbt r0, r15, r0
+ pkhbt r0, r0, r13
+ pkhbt r0, r0, r15
+ @ PLD (register)
+ pld [r0, r13]
+ pld [r0, r15]
+ pld [r13, r0] @ OK
+ pld [r15, r0]
+ @ PLI (register)
+ pli [r0, r13]
+ pli [r0, r15]
+ pli [r13, r0] @ OK
+ pli [r15, r0]
+ @ QADD
+ qadd r13, r0, r0
+ qadd r15, r0, r0
+ qadd r0, r13, r0
+ qadd r0, r15, r0
+ qadd r0, r0, r13
+ qadd r0, r0, r15
+ @ QADD16
+ qadd16 r13, r0, r0
+ qadd16 r15, r0, r0
+ qadd16 r0, r13, r0
+ qadd16 r0, r15, r0
+ qadd16 r0, r0, r13
+ qadd16 r0, r0, r15
+ @ QADD8
+ qadd8 r13, r0, r0
+ qadd8 r15, r0, r0
+ qadd8 r0, r13, r0
+ qadd8 r0, r15, r0
+ qadd8 r0, r0, r13
+ qadd8 r0, r0, r15
+ @ QASX
+ qasx r13, r0, r0
+ qasx r15, r0, r0
+ qasx r0, r13, r0
+ qasx r0, r15, r0
+ qasx r0, r0, r13
+ qasx r0, r0, r15
+ @ QDADD
+ qdadd r13, r0, r0
+ qdadd r15, r0, r0
+ qdadd r0, r13, r0
+ qdadd r0, r15, r0
+ qdadd r0, r0, r13
+ qdadd r0, r0, r15
+ @ QDSUB
+ qdsub r13, r0, r0
+ qdsub r15, r0, r0
+ qdsub r0, r13, r0
+ qdsub r0, r15, r0
+ qdsub r0, r0, r13
+ qdsub r0, r0, r15
+ @ QSAX
+ qsax r13, r0, r0
+ qsax r15, r0, r0
+ qsax r0, r13, r0
+ qsax r0, r15, r0
+ qsax r0, r0, r13
+ qsax r0, r0, r15
+ @ QSUB
+ qsub r13, r0, r0
+ qsub r15, r0, r0
+ qsub r0, r13, r0
+ qsub r0, r15, r0
+ qsub r0, r0, r13
+ qsub r0, r0, r15
+ @ QSUB16
+ qsub16 r13, r0, r0
+ qsub16 r15, r0, r0
+ qsub16 r0, r13, r0
+ qsub16 r0, r15, r0
+ qsub16 r0, r0, r13
+ qsub16 r0, r0, r15
+ @ QSUB8
+ qsub8 r13, r0, r0
+ qsub8 r15, r0, r0
+ qsub8 r0, r13, r0
+ qsub8 r0, r15, r0
+ qsub8 r0, r0, r13
+ qsub8 r0, r0, r15
+ @ RBIT
+ rbit r13, r0
+ rbit r15, r0
+ rbit r0, r13
+ rbit r0, r15
+ @ REV
+ rev.w r13, r0
+ rev.w r15, r0
+ rev.w r0, r13
+ rev.w r0, r15
+ @ REV16
+ rev16.w r13, r0
+ rev16.w r15, r0
+ rev16.w r0, r13
+ rev16.w r0, r15
+ @ REVSH
+ revsh.w r13, r0
+ revsh.w r15, r0
+ revsh.w r0, r13
+ revsh.w r0, r15
+ @ RFE
+ rfedb r15
+ rfeia r15
+ @ ROR (immediate)
+ ror r13, r0, #1
+ ror r15, r0, #1
+ ror r0, r13, #1
+ ror r0, r15, #1
+ @ ROR (register)
+ ror.w r13, r0, r1
+ ror.w r15, r0, r1
+ ror.w r0, r13, r1
+ ror.w r0, r15, r1
+ ror.w r0, r1, r13
+ ror.w r0, r1, r15
+ @ RRX
+ rrx r13, r0
+ rrx r15, r0
+ rrx r0, r13
+ rrx r0, r15
+ @ RSB (immediate)
+ rsb.w r13, r0, #1
+ rsb.w r15, r0, #1
+ rsb.w r0, r13, #1
+ rsb.w r0, r15, #1
+ @ RSB (register)
+ rsb r13, r0, r1
+ rsb r15, r0, r1
+ rsb r0, r13, r1
+ rsb r0, r15, r1
+ rsb r0, r1, r13
+ rsb r0, r1, r15
+ @ SADD16
+ sadd16 r13, r0, r0
+ sadd16 r15, r0, r0
+ sadd16 r0, r13, r0
+ sadd16 r0, r15, r0
+ sadd16 r0, r0, r13
+ sadd16 r0, r0, r15
+ @ SADD8
+ sadd8 r13, r0, r0
+ sadd8 r15, r0, r0
+ sadd8 r0, r13, r0
+ sadd8 r0, r15, r0
+ sadd8 r0, r0, r13
+ sadd8 r0, r0, r15
+ @ SASX
+ sasx r13, r0, r0
+ sasx r15, r0, r0
+ sasx r0, r13, r0
+ sasx r0, r15, r0
+ sasx r0, r0, r13
+ sasx r0, r0, r15
+ @ SBC (immediate)
+ sbc r13, r0, #1
+ sbc r15, r0, #1
+ sbc r0, r13, #1
+ sbc r0, r15, #1
+ @ SBC (register)
+ sbc r13, r0, r1
+ sbc r15, r0, r1
+ sbc r0, r13, r1
+ sbc r0, r15, r1
+ sbc r0, r1, r13
+ sbc r0, r1, r15
+ @ SBFX (immediate)
+ sbfx r13, r0, #1, #1
+ sbfx r15, r0, #1, #1
+ sbfx r0, r13, #1, #1
+ sbfx r0, r15, #1, #1
+ @ SDIV (register)
+ sdiv r13, r0, r1
+ sdiv r15, r0, r1
+ sdiv r0, r13, r1
+ sdiv r0, r15, r1
+ sdiv r0, r1, r13
+ sdiv r0, r1, r15
+ @ SEL (register)
+ sel r13, r0, r1
+ sel r15, r0, r1
+ sel r0, r13, r1
+ sel r0, r15, r1
+ sel r0, r1, r13
+ sel r0, r1, r15
+ @ SHADD16
+ shadd16 r13, r0, r0
+ shadd16 r15, r0, r0
+ shadd16 r0, r13, r0
+ shadd16 r0, r15, r0
+ shadd16 r0, r0, r13
+ shadd16 r0, r0, r15
+ @ SHADD8
+ shadd8 r13, r0, r0
+ shadd8 r15, r0, r0
+ shadd8 r0, r13, r0
+ shadd8 r0, r15, r0
+ shadd8 r0, r0, r13
+ shadd8 r0, r0, r15
+ @ SHASX
+ shasx r13, r0, r0
+ shasx r15, r0, r0
+ shasx r0, r13, r0
+ shasx r0, r15, r0
+ shasx r0, r0, r13
+ shasx r0, r0, r15
+ @ SHSAX
+ shsax r13, r0, r0
+ shsax r15, r0, r0
+ shsax r0, r13, r0
+ shsax r0, r15, r0
+ shsax r0, r0, r13
+ shsax r0, r0, r15
+ @ SHSUB16
+ shsub16 r13, r0, r0
+ shsub16 r15, r0, r0
+ shsub16 r0, r13, r0
+ shsub16 r0, r15, r0
+ shsub16 r0, r0, r13
+ shsub16 r0, r0, r15
+ @ SHSUB8
+ shsub8 r13, r0, r0
+ shsub8 r15, r0, r0
+ shsub8 r0, r13, r0
+ shsub8 r0, r15, r0
+ shsub8 r0, r0, r13
+ shsub8 r0, r0, r15
+ @ SMLABB
+ smlabb r13, r0, r0, r0
+ smlabb r15, r0, r0, r0
+ smlabb r0, r13, r0, r0
+ smlabb r0, r15, r0, r0
+ smlabb r0, r0, r13, r0
+ smlabb r0, r0, r15, r0
+ smlabb r0, r0, r0, r13
+ smlabb r0, r0, r0, r15
+ @ SMLAD
+ smlad r13, r0, r0, r0
+ smlad r15, r0, r0, r0
+ smlad r0, r13, r0, r0
+ smlad r0, r15, r0, r0
+ smlad r0, r0, r13, r0
+ smlad r0, r0, r15, r0
+ smlad r0, r0, r0, r13
+ smlad r0, r0, r0, r15
+ @ SMLAL
+ smlal r13, r0, r0, r0
+ smlal r15, r0, r0, r0
+ smlal r0, r13, r0, r0
+ smlal r0, r15, r0, r0
+ smlal r0, r0, r13, r0
+ smlal r0, r0, r15, r0
+ smlal r0, r0, r0, r13
+ smlal r0, r0, r0, r15
+ @ SMLALBB
+ smlalbb r13, r0, r0, r0
+ smlalbb r15, r0, r0, r0
+ smlalbb r0, r13, r0, r0
+ smlalbb r0, r15, r0, r0
+ smlalbb r0, r0, r13, r0
+ smlalbb r0, r0, r15, r0
+ smlalbb r0, r0, r0, r13
+ smlalbb r0, r0, r0, r15
+ @ SMLALD
+ smlald r13, r0, r0, r0
+ smlald r15, r0, r0, r0
+ smlald r0, r13, r0, r0
+ smlald r0, r15, r0, r0
+ smlald r0, r0, r13, r0
+ smlald r0, r0, r15, r0
+ smlald r0, r0, r0, r13
+ smlald r0, r0, r0, r15
+ @ SMLAWB
+ smlawb r13, r0, r0, r0
+ smlawb r15, r0, r0, r0
+ smlawb r0, r13, r0, r0
+ smlawb r0, r15, r0, r0
+ smlawb r0, r0, r13, r0
+ smlawb r0, r0, r15, r0
+ smlawb r0, r0, r0, r13
+ smlawb r0, r0, r0, r15
+ @ SMLSD
+ smlsd r13, r0, r0, r0
+ smlsd r15, r0, r0, r0
+ smlsd r0, r13, r0, r0
+ smlsd r0, r15, r0, r0
+ smlsd r0, r0, r13, r0
+ smlsd r0, r0, r15, r0
+ smlsd r0, r0, r0, r13
+ smlsd r0, r0, r0, r15
+ @ SMLSLD
+ smlsld r13, r0, r0, r0
+ smlsld r15, r0, r0, r0
+ smlsld r0, r13, r0, r0
+ smlsld r0, r15, r0, r0
+ smlsld r0, r0, r13, r0
+ smlsld r0, r0, r15, r0
+ smlsld r0, r0, r0, r13
+ smlsld r0, r0, r0, r15
+ @ SMMLA
+ smmla r13, r0, r0, r0
+ smmla r15, r0, r0, r0
+ smmla r0, r13, r0, r0
+ smmla r0, r15, r0, r0
+ smmla r0, r0, r13, r0
+ smmla r0, r0, r15, r0
+ smmla r0, r0, r0, r13
+ smmla r0, r0, r0, r15
+ @ SMMLS
+ smmls r13, r0, r0, r0
+ smmls r15, r0, r0, r0
+ smmls r0, r13, r0, r0
+ smmls r0, r15, r0, r0
+ smmls r0, r0, r13, r0
+ smmls r0, r0, r15, r0
+ smmls r0, r0, r0, r13
+ smmls r0, r0, r0, r15
+ @ SMMUL
+ smmul r13, r0, r0
+ smmul r15, r0, r0
+ smmul r0, r13, r0
+ smmul r0, r15, r0
+ smmul r0, r0, r13
+ smmul r0, r0, r15
+ @ SMUAD
+ smuad r13, r0, r0
+ smuad r15, r0, r0
+ smuad r0, r13, r0
+ smuad r0, r15, r0
+ smuad r0, r0, r13
+ smuad r0, r0, r15
+ @ SMULBB
+ smulbb r13, r0, r0
+ smulbb r15, r0, r0
+ smulbb r0, r13, r0
+ smulbb r0, r15, r0
+ smulbb r0, r0, r13
+ smulbb r0, r0, r15
+ @ SMULL
+ smull r13, r0, r0, r0
+ smull r15, r0, r0, r0
+ smull r0, r13, r0, r0
+ smull r0, r15, r0, r0
+ smull r0, r0, r13, r0
+ smull r0, r0, r15, r0
+ smull r0, r0, r0, r13
+ smull r0, r0, r0, r15
+ @ SMULWB
+ smulwb r13, r0, r0
+ smulwb r15, r0, r0
+ smulwb r0, r13, r0
+ smulwb r0, r15, r0
+ smulwb r0, r0, r13
+ smulwb r0, r0, r15
+ @ SMUSD
+ smusd r13, r0, r0
+ smusd r15, r0, r0
+ smusd r0, r13, r0
+ smusd r0, r15, r0
+ smusd r0, r0, r13
+ smusd r0, r0, r15
+ @ SSAT
+ ssat r13, #1, r0
+ ssat r15, #1, r0
+ ssat r0, #1, r13
+ ssat r0, #1, r15
+ @ SSAT16
+ ssat16 r13, #1, r0
+ ssat16 r15, #1, r0
+ ssat16 r0, #1, r13
+ ssat16 r0, #1, r15
+ @ SSAX
+ ssax r13, r0, r1
+ ssax r15, r0, r1
+ ssax r0, r13, r1
+ ssax r0, r15, r1
+ ssax r0, r1, r13
+ ssax r0, r1, r15
+ @ SSUB16
+ ssub16 r13, r0, r1
+ ssub16 r15, r0, r1
+ ssub16 r0, r13, r1
+ ssub16 r0, r15, r1
+ ssub16 r0, r1, r13
+ ssub16 r0, r1, r15
+ @ SSUB8
+ ssub8 r13, r0, r1
+ ssub8 r15, r0, r1
+ ssub8 r0, r13, r1
+ ssub8 r0, r15, r1
+ ssub8 r0, r1, r13
+ ssub8 r0, r1, r15
+ @ SUB (immediate)
+ sub.w r13, r0, #1
+ sub.w r15, r0, #1
+ sub.w r0, r13, #1 @ SUB (SP minus immediate)
+ sub.w r0, r15, #1 @ ADR
+ subw r13, r0, #1
+ subw r15, r0, #1
+ subw r0, r13, #1 @ SUB (SP minus immediate)
+ subw r0, r15, #1 @ ADR
+ @ SUB (register)
+ sub.w r13, r0, r1
+ sub.w r15, r0, r1
+ sub.w r0, r13, r1 @ SUB (SP minus register)
+ sub.w r0, r15, r1
+ sub.w r0, r1, r13
+ sub.w r0, r1, r15
+ @ SUB (SP minus immediate)
+ sub.w r0, r13, #1 @ OK
+ sub.w r15, r13, #1
+ subs.w r15, r13, #1
+ subw r15, r13, #1
+ @ SUB (SP minus register)
+ sub.w r13, r13, r0 @ OK
+ sub.w r15, r13, r0
+ sub.w r0, r13, r13
+ sub.w r0, r13, r15
+ @ SXTAB
+ sxtab r13, r0, r1
+ sxtab r15, r0, r1
+ sxtab r0, r13, r1
+ sxtab r0, r15, r1
+ sxtab r0, r1, r13
+ sxtab r0, r1, r15
+ @ SXTAB16
+ sxtab16 r13, r0, r1
+ sxtab16 r15, r0, r1
+ sxtab16 r0, r13, r1
+ sxtab16 r0, r15, r1
+ sxtab16 r0, r1, r13
+ sxtab16 r0, r1, r15
+ @ SXTAH
+ sxtah r13, r0, r1
+ sxtah r15, r0, r1
+ sxtah r0, r13, r1
+ sxtah r0, r15, r1
+ sxtah r0, r1, r13
+ sxtah r0, r1, r15
+ @ SXTB
+ sxtb r13, r0
+ sxtb r15, r0
+ sxtb r0, r13
+ sxtb r0, r15
+ @ SXTB16
+ sxtb16 r13, r0
+ sxtb16 r15, r0
+ sxtb16 r0, r13
+ sxtb16 r0, r15
+ @ SXTH
+ sxth r13, r0
+ sxth r15, r0
+ sxth r0, r13
+ sxth r0, r15
+ @ TBB
+ tbb [r13, r0]
+ tbb [r15, r0] @ OK
+ tbb [r0, r13]
+ tbb [r0, r15]
+ @ TBH
+ tbh [r13, r0]
+ tbh [r15, r0] @ OK
+ tbh [r0, r13]
+ tbh [r0, r15]
+ @ TEQ (immediate)
+ teq r13, #1
+ teq r15, #1
+ @ TEQ (register)
+ teq r13, r0
+ teq r15, r0
+ teq r0, r13
+ teq r0, r15
+ @ TST (immediate)
+ tst r13, #1
+ tst r15, #1
+ @ TST (register)
+ tst.w r13, r0
+ tst.w r15, r0
+ tst.w r0, r13
+ tst.w r0, r15
+ @ UADD16
+ uadd16 r13, r0, r0
+ uadd16 r15, r0, r0
+ uadd16 r0, r13, r0
+ uadd16 r0, r15, r0
+ uadd16 r0, r0, r13
+ uadd16 r0, r0, r15
+ @ UADD8
+ uadd8 r13, r0, r0
+ uadd8 r15, r0, r0
+ uadd8 r0, r13, r0
+ uadd8 r0, r15, r0
+ uadd8 r0, r0, r13
+ uadd8 r0, r0, r15
+ @ UASX
+ uasx r13, r0, r0
+ uasx r15, r0, r0
+ uasx r0, r13, r0
+ uasx r0, r15, r0
+ uasx r0, r0, r13
+ uasx r0, r0, r15
+ @ UBFX (immediate)
+ ubfx r13, r0, #1, #1
+ ubfx r15, r0, #1, #1
+ ubfx r0, r13, #1, #1
+ ubfx r0, r15, #1, #1
+ @ UDIV (register)
+ udiv r13, r0, r1
+ udiv r15, r0, r1
+ udiv r0, r13, r1
+ udiv r0, r15, r1
+ udiv r0, r1, r13
+ udiv r0, r1, r15
+ @ UHADD16
+ uhadd16 r13, r0, r0
+ uhadd16 r15, r0, r0
+ uhadd16 r0, r13, r0
+ uhadd16 r0, r15, r0
+ uhadd16 r0, r0, r13
+ uhadd16 r0, r0, r15
+ @ UHADD8
+ uhadd8 r13, r0, r0
+ uhadd8 r15, r0, r0
+ uhadd8 r0, r13, r0
+ uhadd8 r0, r15, r0
+ uhadd8 r0, r0, r13
+ uhadd8 r0, r0, r15
+ @ UHASX
+ uhasx r13, r0, r0
+ uhasx r15, r0, r0
+ uhasx r0, r13, r0
+ uhasx r0, r15, r0
+ uhasx r0, r0, r13
+ uhasx r0, r0, r15
+ @ UHSAX
+ uhsax r13, r0, r0
+ uhsax r15, r0, r0
+ uhsax r0, r13, r0
+ uhsax r0, r15, r0
+ uhsax r0, r0, r13
+ uhsax r0, r0, r15
+ @ UHSUB16
+ uhsub16 r13, r0, r0
+ uhsub16 r15, r0, r0
+ uhsub16 r0, r13, r0
+ uhsub16 r0, r15, r0
+ uhsub16 r0, r0, r13
+ uhsub16 r0, r0, r15
+ @ UHSUB8
+ uhsub8 r13, r0, r0
+ uhsub8 r15, r0, r0
+ uhsub8 r0, r13, r0
+ uhsub8 r0, r15, r0
+ uhsub8 r0, r0, r13
+ uhsub8 r0, r0, r15
+ @ UMAAL
+ umaal r13, r0, r0, r0
+ umaal r15, r0, r0, r0
+ umaal r0, r13, r0, r0
+ umaal r0, r15, r0, r0
+ umaal r0, r0, r13, r0
+ umaal r0, r0, r15, r0
+ umaal r0, r0, r0, r13
+ umaal r0, r0, r0, r15
+ @ UMLAL
+ umlal r13, r0, r0, r0
+ umlal r15, r0, r0, r0
+ umlal r0, r13, r0, r0
+ umlal r0, r15, r0, r0
+ umlal r0, r0, r13, r0
+ umlal r0, r0, r15, r0
+ umlal r0, r0, r0, r13
+ umlal r0, r0, r0, r15
+ @ UMULL
+ umull r13, r0, r0, r0
+ umull r15, r0, r0, r0
+ umull r0, r13, r0, r0
+ umull r0, r15, r0, r0
+ umull r0, r0, r13, r0
+ umull r0, r0, r15, r0
+ umull r0, r0, r0, r13
+ umull r0, r0, r0, r15
+ @ UQADD16
+ uqadd16 r13, r0, r0
+ uqadd16 r15, r0, r0
+ uqadd16 r0, r13, r0
+ uqadd16 r0, r15, r0
+ uqadd16 r0, r0, r13
+ uqadd16 r0, r0, r15
+ @ UQADD8
+ uqadd8 r13, r0, r0
+ uqadd8 r15, r0, r0
+ uqadd8 r0, r13, r0
+ uqadd8 r0, r15, r0
+ uqadd8 r0, r0, r13
+ uqadd8 r0, r0, r15
+ @ UQASX
+ uqasx r13, r0, r0
+ uqasx r15, r0, r0
+ uqasx r0, r13, r0
+ uqasx r0, r15, r0
+ uqasx r0, r0, r13
+ uqasx r0, r0, r15
+ @ UQSAX
+ uqsax r13, r0, r0
+ uqsax r15, r0, r0
+ uqsax r0, r13, r0
+ uqsax r0, r15, r0
+ uqsax r0, r0, r13
+ uqsax r0, r0, r15
+ @ UQSUB16
+ uqsub16 r13, r0, r0
+ uqsub16 r15, r0, r0
+ uqsub16 r0, r13, r0
+ uqsub16 r0, r15, r0
+ uqsub16 r0, r0, r13
+ uqsub16 r0, r0, r15
+ @ UQSUB8
+ uqsub8 r13, r0, r0
+ uqsub8 r15, r0, r0
+ uqsub8 r0, r13, r0
+ uqsub8 r0, r15, r0
+ uqsub8 r0, r0, r13
+ uqsub8 r0, r0, r15
+ @ USAD8
+ usad8 r13, r0, r0
+ usad8 r15, r0, r0
+ usad8 r0, r13, r0
+ usad8 r0, r15, r0
+ usad8 r0, r0, r13
+ usad8 r0, r0, r15
+ @ USADA8
+ usada8 r13, r0, r0, r0
+ usada8 r15, r0, r0, r0
+ usada8 r0, r13, r0, r0
+ usada8 r0, r15, r0, r0
+ usada8 r0, r0, r13, r0
+ usada8 r0, r0, r15, r0
+ usada8 r0, r0, r0, r13
+ usada8 r0, r0, r0, r15
+ @ USAT
+ usat r13, #1, r0
+ usat r15, #1, r0
+ usat r0, #1, r13
+ usat r0, #1, r15
+ @ USAT16
+ usat16 r13, #1, r0
+ usat16 r15, #1, r0
+ usat16 r0, #1, r13
+ usat16 r0, #1, r15
+ @ USAX
+ usax r13, r0, r1
+ usax r15, r0, r1
+ usax r0, r13, r1
+ usax r0, r15, r1
+ usax r0, r1, r13
+ usax r0, r1, r15
+ @ USUB16
+ usub16 r13, r0, r1
+ usub16 r15, r0, r1
+ usub16 r0, r13, r1
+ usub16 r0, r15, r1
+ usub16 r0, r1, r13
+ usub16 r0, r1, r15
+ @ USUB8
+ usub8 r13, r0, r1
+ usub8 r15, r0, r1
+ usub8 r0, r13, r1
+ usub8 r0, r15, r1
+ usub8 r0, r1, r13
+ usub8 r0, r1, r15
+ @ UXTAB
+ uxtab r13, r0, r1
+ uxtab r15, r0, r1
+ uxtab r0, r13, r1
+ uxtab r0, r15, r1
+ uxtab r0, r1, r13
+ uxtab r0, r1, r15
+ @ UXTAB16
+ uxtab16 r13, r0, r1
+ uxtab16 r15, r0, r1
+ uxtab16 r0, r13, r1
+ uxtab16 r0, r15, r1
+ uxtab16 r0, r1, r13
+ uxtab16 r0, r1, r15
+ @ UXTAH
+ uxtah r13, r0, r1
+ uxtah r15, r0, r1
+ uxtah r0, r13, r1
+ uxtah r0, r15, r1
+ uxtah r0, r1, r13
+ uxtah r0, r1, r15
+ @ UXTB
+ uxtb r13, r0
+ uxtb r15, r0
+ uxtb r0, r13
+ uxtb r0, r15
+ @ UXTB16
+ uxtb16 r13, r0
+ uxtb16 r15, r0
+ uxtb16 r0, r13
+ uxtb16 r0, r15
+ @ UXTH
+ uxth r13, r0
+ uxth r15, r0
+ uxth r0, r13
+ uxth r0, r15