aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@codesourcery.com>2010-05-13 08:15:04 +0000
committerNathan Sidwell <nathan@codesourcery.com>2010-05-13 08:15:04 +0000
commitbf3eeda76c05e26f2fde170e4650a3edf220e135 (patch)
treeb3013c3d185439e54f6275cedb95c58276c60a48
parent9e59393e699277fcd7da63b4169675ecd52360e5 (diff)
downloadgdb-bf3eeda76c05e26f2fde170e4650a3edf220e135.zip
gdb-bf3eeda76c05e26f2fde170e4650a3edf220e135.tar.gz
gdb-bf3eeda76c05e26f2fde170e4650a3edf220e135.tar.bz2
* config/tc-arm.c (md_assemble): Clarify current mode in error
messages about unsupported instructions. (UT): Delete #define. (insns): Adjust cbnz, cbz appropriately. testsuite: * gas/arm/armv1-bad.l: Adjust expected error text. * gas/arm/arch7em-bad.l: Likewise. * gas/arm/arch7m-bad.l: Likewise. * gas/arm/thumb-w-bad.l: Likewise. * gas/arm/arm7-bad.d: New. * gas/arm/arm7-bad.l: New. * gas/arm/arm7-bad.s: New.
-rw-r--r--gas/ChangeLog7
-rw-r--r--gas/config/tc-arm.c16
-rw-r--r--gas/testsuite/ChangeLog10
-rw-r--r--gas/testsuite/gas/arm/arch7em-bad.l262
-rw-r--r--gas/testsuite/gas/arm/arch7m-bad.l2
-rw-r--r--gas/testsuite/gas/arm/arm7-bad.d3
-rw-r--r--gas/testsuite/gas/arm/arm7-bad.l2
-rw-r--r--gas/testsuite/gas/arm/arm7-bad.s7
-rw-r--r--gas/testsuite/gas/arm/armv1-bad.l2
-rw-r--r--gas/testsuite/gas/arm/thumb-w-bad.l4
10 files changed, 172 insertions, 143 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 0ec4f60..d6dd292 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,10 @@
+2010-05-13 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/tc-arm.c (md_assemble): Clarify current mode in error
+ messages about unsupported instructions.
+ (UT): Delete #define.
+ (insns): Adjust cbnz, cbz appropriately.
+
2010-05-11 Andrew Stubbs <ams@codesourcery.com>
* config/tc-arm.c (aeabi_set_public_attributes): Set Tag_DIV_use.
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 8c9b33b..bc03294 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -15719,7 +15719,7 @@ md_assemble (char *str)
|| (thumb_mode == 1
&& !ARM_CPU_HAS_FEATURE (variant, *opcode->tvariant)))
{
- as_bad (_("selected processor does not support `%s'"), str);
+ as_bad (_("selected processor does not support Thumb mode `%s'"), str);
return;
}
if (inst.cond != COND_ALWAYS && !unified_syntax
@@ -15744,7 +15744,7 @@ md_assemble (char *str)
inst.size_req = 2;
else if (inst.size_req == 4)
{
- as_bad (_("selected processor does not support `%s'"), str);
+ as_bad (_("selected processor does not support Thumb-2 mode `%s'"), str);
return;
}
}
@@ -15810,7 +15810,7 @@ md_assemble (char *str)
&& !(opcode->avariant &&
ARM_CPU_HAS_FEATURE (cpu_variant, *opcode->avariant)))
{
- as_bad (_("selected processor does not support `%s'"), str);
+ as_bad (_("selected processor does not support ARM mode `%s'"), str);
return;
}
if (inst.size_req)
@@ -16439,9 +16439,6 @@ static struct asm_barrier_opt barrier_opt_names[] =
#define do_0 0
-/* Thumb-only, unconditional. */
-#define UT(mnem, op, nops, ops, te) TUE (mnem, 0, op, nops, ops, 0, te)
-
static const struct asm_opcode insns[] =
{
#define ARM_VARIANT &arm_ext_v1 /* Core ARM Instructions. */
@@ -16898,8 +16895,11 @@ static const struct asm_opcode insns[] =
TC3("ldrsbt", 03000d0, f9100e00, 2, (RRnpc_npcsp, ADDR), ldsttv4, t_ldstt),
TC3("strht", 02000b0, f8200e00, 2, (RRnpc_npcsp, ADDR), ldsttv4, t_ldstt),
- UT("cbnz", b900, 2, (RR, EXP), t_cbz),
- UT("cbz", b100, 2, (RR, EXP), t_cbz),
+ /* Thumb-only instructions. */
+#undef ARM_VARIANT
+#define ARM_VARIANT NULL
+ TUE("cbnz", 0, b900, 2, (RR, EXP), 0, t_cbz),
+ TUE("cbz", 0, b100, 2, (RR, EXP), 0, t_cbz),
/* ARM does not really have an IT instruction, so always allow it.
The opcode is copied from Thumb in order to allow warnings in
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 1d04b89..628239d 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,13 @@
+2010-05-13 Nathan Sidwell <nathan@codesourcery.com>
+
+ * gas/arm/armv1-bad.l: Adjust expected error text.
+ * gas/arm/arch7em-bad.l: Likewise.
+ * gas/arm/arch7m-bad.l: Likewise.
+ * gas/arm/thumb-w-bad.l: Likewise.
+ * gas/arm/arm7-bad.d: New.
+ * gas/arm/arm7-bad.l: New.
+ * gas/arm/arm7-bad.s: New.
+
2010-05-13 Alan Modra <amodra@gmail.com>
* gas/all/gas.exp: Don't run byte test on powerpc.
diff --git a/gas/testsuite/gas/arm/arch7em-bad.l b/gas/testsuite/gas/arm/arch7em-bad.l
index f3b3c79..1c47825 100644
--- a/gas/testsuite/gas/arm/arch7em-bad.l
+++ b/gas/testsuite/gas/arm/arch7em-bad.l
@@ -1,132 +1,132 @@
[^:]*: Assembler messages:
-[^:]*:8: Error: selected processor does not support `pkhbt r0,r0,r0'
-[^:]*:9: Error: selected processor does not support `pkhbt r9,r0,r0'
-[^:]*:10: Error: selected processor does not support `pkhbt r0,r9,r0'
-[^:]*:11: Error: selected processor does not support `pkhbt r0,r0,r9'
-[^:]*:12: Error: selected processor does not support `pkhbt r0,r0,r0,lsl#0x14'
-[^:]*:13: Error: selected processor does not support `pkhbt r0,r0,r0,lsl#3'
-[^:]*:14: Error: selected processor does not support `pkhtb r1,r2,r3'
-[^:]*:15: Error: selected processor does not support `pkhtb r1,r2,r3,asr#0x11'
-[^:]*:18: Error: selected processor does not support `qadd r1,r2,r3'
-[^:]*:19: Error: selected processor does not support `qadd16 r1,r2,r3'
-[^:]*:20: Error: selected processor does not support `qadd8 r1,r2,r3'
-[^:]*:21: Error: selected processor does not support `qasx r1,r2,r3'
-[^:]*:22: Error: selected processor does not support `qaddsubx r1,r2,r3'
-[^:]*:23: Error: selected processor does not support `qdadd r1,r2,r3'
-[^:]*:24: Error: selected processor does not support `qdsub r1,r2,r3'
-[^:]*:25: Error: selected processor does not support `qsub r1,r2,r3'
-[^:]*:26: Error: selected processor does not support `qsub16 r1,r2,r3'
-[^:]*:27: Error: selected processor does not support `qsub8 r1,r2,r3'
-[^:]*:28: Error: selected processor does not support `qsax r1,r2,r3'
-[^:]*:29: Error: selected processor does not support `qsubaddx r1,r2,r3'
-[^:]*:30: Error: selected processor does not support `sadd16 r1,r2,r3'
-[^:]*:31: Error: selected processor does not support `sadd8 r1,r2,r3'
-[^:]*:32: Error: selected processor does not support `sasx r1,r2,r3'
-[^:]*:33: Error: selected processor does not support `saddsubx r1,r2,r3'
-[^:]*:34: Error: selected processor does not support `ssub16 r1,r2,r3'
-[^:]*:35: Error: selected processor does not support `ssub8 r1,r2,r3'
-[^:]*:36: Error: selected processor does not support `ssax r1,r2,r3'
-[^:]*:37: Error: selected processor does not support `ssubaddx r1,r2,r3'
-[^:]*:38: Error: selected processor does not support `shadd16 r1,r2,r3'
-[^:]*:39: Error: selected processor does not support `shadd8 r1,r2,r3'
-[^:]*:40: Error: selected processor does not support `shasx r1,r2,r3'
-[^:]*:41: Error: selected processor does not support `shaddsubx r1,r2,r3'
-[^:]*:42: Error: selected processor does not support `shsub16 r1,r2,r3'
-[^:]*:43: Error: selected processor does not support `shsub8 r1,r2,r3'
-[^:]*:44: Error: selected processor does not support `shsax r1,r2,r3'
-[^:]*:45: Error: selected processor does not support `shsubaddx r1,r2,r3'
-[^:]*:46: Error: selected processor does not support `uadd16 r1,r2,r3'
-[^:]*:47: Error: selected processor does not support `uadd8 r1,r2,r3'
-[^:]*:48: Error: selected processor does not support `uasx r1,r2,r3'
-[^:]*:49: Error: selected processor does not support `uaddsubx r1,r2,r3'
-[^:]*:50: Error: selected processor does not support `usub16 r1,r2,r3'
-[^:]*:51: Error: selected processor does not support `usub8 r1,r2,r3'
-[^:]*:52: Error: selected processor does not support `usax r1,r2,r3'
-[^:]*:53: Error: selected processor does not support `usubaddx r1,r2,r3'
-[^:]*:54: Error: selected processor does not support `uhadd16 r1,r2,r3'
-[^:]*:55: Error: selected processor does not support `uhadd8 r1,r2,r3'
-[^:]*:56: Error: selected processor does not support `uhasx r1,r2,r3'
-[^:]*:57: Error: selected processor does not support `uhaddsubx r1,r2,r3'
-[^:]*:58: Error: selected processor does not support `uhsub16 r1,r2,r3'
-[^:]*:59: Error: selected processor does not support `uhsub8 r1,r2,r3'
-[^:]*:60: Error: selected processor does not support `uhsax r1,r2,r3'
-[^:]*:61: Error: selected processor does not support `uhsubaddx r1,r2,r3'
-[^:]*:62: Error: selected processor does not support `uqadd16 r1,r2,r3'
-[^:]*:63: Error: selected processor does not support `uqadd8 r1,r2,r3'
-[^:]*:64: Error: selected processor does not support `uqasx r1,r2,r3'
-[^:]*:65: Error: selected processor does not support `uqaddsubx r1,r2,r3'
-[^:]*:66: Error: selected processor does not support `uqsub16 r1,r2,r3'
-[^:]*:67: Error: selected processor does not support `uqsub8 r1,r2,r3'
-[^:]*:68: Error: selected processor does not support `uqsax r1,r2,r3'
-[^:]*:69: Error: selected processor does not support `uqsubaddx r1,r2,r3'
-[^:]*:70: Error: selected processor does not support `sel r1,r2,r3'
-[^:]*:73: Error: selected processor does not support `smlabb r0,r0,r0,r0'
-[^:]*:74: Error: selected processor does not support `smlabb r9,r0,r0,r0'
-[^:]*:75: Error: selected processor does not support `smlabb r0,r9,r0,r0'
-[^:]*:76: Error: selected processor does not support `smlabb r0,r0,r9,r0'
-[^:]*:77: Error: selected processor does not support `smlabb r0,r0,r0,r9'
-[^:]*:79: Error: selected processor does not support `smlatb r0,r0,r0,r0'
-[^:]*:80: Error: selected processor does not support `smlabt r0,r0,r0,r0'
-[^:]*:81: Error: selected processor does not support `smlatt r0,r0,r0,r0'
-[^:]*:82: Error: selected processor does not support `smlawb r0,r0,r0,r0'
-[^:]*:83: Error: selected processor does not support `smlawt r0,r0,r0,r0'
-[^:]*:84: Error: selected processor does not support `smlad r0,r0,r0,r0'
-[^:]*:85: Error: selected processor does not support `smladx r0,r0,r0,r0'
-[^:]*:86: Error: selected processor does not support `smlsd r0,r0,r0,r0'
-[^:]*:87: Error: selected processor does not support `smlsdx r0,r0,r0,r0'
-[^:]*:88: Error: selected processor does not support `smmla r0,r0,r0,r0'
-[^:]*:89: Error: selected processor does not support `smmlar r0,r0,r0,r0'
-[^:]*:90: Error: selected processor does not support `smmls r0,r0,r0,r0'
-[^:]*:91: Error: selected processor does not support `smmlsr r0,r0,r0,r0'
-[^:]*:92: Error: selected processor does not support `usada8 r0,r0,r0,r0'
-[^:]*:95: Error: selected processor does not support `smlalbb r0,r0,r0,r0'
-[^:]*:96: Error: selected processor does not support `smlalbb r9,r0,r0,r0'
-[^:]*:97: Error: selected processor does not support `smlalbb r0,r9,r0,r0'
-[^:]*:98: Error: selected processor does not support `smlalbb r0,r0,r9,r0'
-[^:]*:99: Error: selected processor does not support `smlalbb r0,r0,r0,r9'
-[^:]*:101: Error: selected processor does not support `smlaltb r0,r0,r0,r0'
-[^:]*:102: Error: selected processor does not support `smlalbt r0,r0,r0,r0'
-[^:]*:103: Error: selected processor does not support `smlaltt r0,r0,r0,r0'
-[^:]*:104: Error: selected processor does not support `smlald r0,r0,r0,r0'
-[^:]*:105: Error: selected processor does not support `smlaldx r0,r0,r0,r0'
-[^:]*:106: Error: selected processor does not support `smlsld r0,r0,r0,r0'
-[^:]*:107: Error: selected processor does not support `smlsldx r0,r0,r0,r0'
-[^:]*:108: Error: selected processor does not support `umaal r0,r0,r0,r0'
-[^:]*:111: Error: selected processor does not support `smulbb r0,r0,r0'
-[^:]*:112: Error: selected processor does not support `smulbb r9,r0,r0'
-[^:]*:113: Error: selected processor does not support `smulbb r0,r9,r0'
-[^:]*:114: Error: selected processor does not support `smulbb r0,r0,r9'
-[^:]*:116: Error: selected processor does not support `smultb r0,r0,r0'
-[^:]*:117: Error: selected processor does not support `smulbt r0,r0,r0'
-[^:]*:118: Error: selected processor does not support `smultt r0,r0,r0'
-[^:]*:119: Error: selected processor does not support `smulwb r0,r0,r0'
-[^:]*:120: Error: selected processor does not support `smulwt r0,r0,r0'
-[^:]*:121: Error: selected processor does not support `smmul r0,r0,r0'
-[^:]*:122: Error: selected processor does not support `smmulr r0,r0,r0'
-[^:]*:123: Error: selected processor does not support `smuad r0,r0,r0'
-[^:]*:124: Error: selected processor does not support `smuadx r0,r0,r0'
-[^:]*:125: Error: selected processor does not support `smusd r0,r0,r0'
-[^:]*:126: Error: selected processor does not support `smusdx r0,r0,r0'
-[^:]*:127: Error: selected processor does not support `usad8 r0,r0,r0'
-[^:]*:130: Error: selected processor does not support `ssat16 r0,#1,r0'
-[^:]*:131: Error: selected processor does not support `ssat16 r9,#1,r0'
-[^:]*:132: Error: selected processor does not support `ssat16 r0,#10,r0'
-[^:]*:133: Error: selected processor does not support `ssat16 r0,#1,r9'
-[^:]*:135: Error: selected processor does not support `usat16 r0,#0,r0'
-[^:]*:136: Error: selected processor does not support `usat16 r9,#0,r0'
-[^:]*:137: Error: selected processor does not support `usat16 r0,#9,r0'
-[^:]*:138: Error: selected processor does not support `usat16 r0,#0,r9'
-[^:]*:141: Error: selected processor does not support `sxtb16 r1,r2'
-[^:]*:142: Error: selected processor does not support `sxtb16 r8,r9'
-[^:]*:143: Error: selected processor does not support `uxtb16 r1,r2'
-[^:]*:144: Error: selected processor does not support `uxtb16 r8,r9'
-[^:]*:147: Error: selected processor does not support `sxtab r0,r0,r0'
-[^:]*:148: Error: selected processor does not support `sxtab r0,r0,r0,ror#0'
-[^:]*:149: Error: selected processor does not support `sxtab r9,r0,r0,ror#8'
-[^:]*:150: Error: selected processor does not support `sxtab r0,r9,r0,ror#16'
-[^:]*:151: Error: selected processor does not support `sxtab r0,r0,r9,ror#24'
-[^:]*:153: Error: selected processor does not support `sxtab16 r1,r2,r3'
-[^:]*:154: Error: selected processor does not support `sxtah r1,r2,r3'
-[^:]*:155: Error: selected processor does not support `uxtab r1,r2,r3'
-[^:]*:156: Error: selected processor does not support `uxtab16 r1,r2,r3'
-[^:]*:157: Error: selected processor does not support `uxtah r1,r2,r3'
+[^:]*:8: Error: selected processor does not support Thumb mode `pkhbt r0,r0,r0'
+[^:]*:9: Error: selected processor does not support Thumb mode `pkhbt r9,r0,r0'
+[^:]*:10: Error: selected processor does not support Thumb mode `pkhbt r0,r9,r0'
+[^:]*:11: Error: selected processor does not support Thumb mode `pkhbt r0,r0,r9'
+[^:]*:12: Error: selected processor does not support Thumb mode `pkhbt r0,r0,r0,lsl#0x14'
+[^:]*:13: Error: selected processor does not support Thumb mode `pkhbt r0,r0,r0,lsl#3'
+[^:]*:14: Error: selected processor does not support Thumb mode `pkhtb r1,r2,r3'
+[^:]*:15: Error: selected processor does not support Thumb mode `pkhtb r1,r2,r3,asr#0x11'
+[^:]*:18: Error: selected processor does not support Thumb mode `qadd r1,r2,r3'
+[^:]*:19: Error: selected processor does not support Thumb mode `qadd16 r1,r2,r3'
+[^:]*:20: Error: selected processor does not support Thumb mode `qadd8 r1,r2,r3'
+[^:]*:21: Error: selected processor does not support Thumb mode `qasx r1,r2,r3'
+[^:]*:22: Error: selected processor does not support Thumb mode `qaddsubx r1,r2,r3'
+[^:]*:23: Error: selected processor does not support Thumb mode `qdadd r1,r2,r3'
+[^:]*:24: Error: selected processor does not support Thumb mode `qdsub r1,r2,r3'
+[^:]*:25: Error: selected processor does not support Thumb mode `qsub r1,r2,r3'
+[^:]*:26: Error: selected processor does not support Thumb mode `qsub16 r1,r2,r3'
+[^:]*:27: Error: selected processor does not support Thumb mode `qsub8 r1,r2,r3'
+[^:]*:28: Error: selected processor does not support Thumb mode `qsax r1,r2,r3'
+[^:]*:29: Error: selected processor does not support Thumb mode `qsubaddx r1,r2,r3'
+[^:]*:30: Error: selected processor does not support Thumb mode `sadd16 r1,r2,r3'
+[^:]*:31: Error: selected processor does not support Thumb mode `sadd8 r1,r2,r3'
+[^:]*:32: Error: selected processor does not support Thumb mode `sasx r1,r2,r3'
+[^:]*:33: Error: selected processor does not support Thumb mode `saddsubx r1,r2,r3'
+[^:]*:34: Error: selected processor does not support Thumb mode `ssub16 r1,r2,r3'
+[^:]*:35: Error: selected processor does not support Thumb mode `ssub8 r1,r2,r3'
+[^:]*:36: Error: selected processor does not support Thumb mode `ssax r1,r2,r3'
+[^:]*:37: Error: selected processor does not support Thumb mode `ssubaddx r1,r2,r3'
+[^:]*:38: Error: selected processor does not support Thumb mode `shadd16 r1,r2,r3'
+[^:]*:39: Error: selected processor does not support Thumb mode `shadd8 r1,r2,r3'
+[^:]*:40: Error: selected processor does not support Thumb mode `shasx r1,r2,r3'
+[^:]*:41: Error: selected processor does not support Thumb mode `shaddsubx r1,r2,r3'
+[^:]*:42: Error: selected processor does not support Thumb mode `shsub16 r1,r2,r3'
+[^:]*:43: Error: selected processor does not support Thumb mode `shsub8 r1,r2,r3'
+[^:]*:44: Error: selected processor does not support Thumb mode `shsax r1,r2,r3'
+[^:]*:45: Error: selected processor does not support Thumb mode `shsubaddx r1,r2,r3'
+[^:]*:46: Error: selected processor does not support Thumb mode `uadd16 r1,r2,r3'
+[^:]*:47: Error: selected processor does not support Thumb mode `uadd8 r1,r2,r3'
+[^:]*:48: Error: selected processor does not support Thumb mode `uasx r1,r2,r3'
+[^:]*:49: Error: selected processor does not support Thumb mode `uaddsubx r1,r2,r3'
+[^:]*:50: Error: selected processor does not support Thumb mode `usub16 r1,r2,r3'
+[^:]*:51: Error: selected processor does not support Thumb mode `usub8 r1,r2,r3'
+[^:]*:52: Error: selected processor does not support Thumb mode `usax r1,r2,r3'
+[^:]*:53: Error: selected processor does not support Thumb mode `usubaddx r1,r2,r3'
+[^:]*:54: Error: selected processor does not support Thumb mode `uhadd16 r1,r2,r3'
+[^:]*:55: Error: selected processor does not support Thumb mode `uhadd8 r1,r2,r3'
+[^:]*:56: Error: selected processor does not support Thumb mode `uhasx r1,r2,r3'
+[^:]*:57: Error: selected processor does not support Thumb mode `uhaddsubx r1,r2,r3'
+[^:]*:58: Error: selected processor does not support Thumb mode `uhsub16 r1,r2,r3'
+[^:]*:59: Error: selected processor does not support Thumb mode `uhsub8 r1,r2,r3'
+[^:]*:60: Error: selected processor does not support Thumb mode `uhsax r1,r2,r3'
+[^:]*:61: Error: selected processor does not support Thumb mode `uhsubaddx r1,r2,r3'
+[^:]*:62: Error: selected processor does not support Thumb mode `uqadd16 r1,r2,r3'
+[^:]*:63: Error: selected processor does not support Thumb mode `uqadd8 r1,r2,r3'
+[^:]*:64: Error: selected processor does not support Thumb mode `uqasx r1,r2,r3'
+[^:]*:65: Error: selected processor does not support Thumb mode `uqaddsubx r1,r2,r3'
+[^:]*:66: Error: selected processor does not support Thumb mode `uqsub16 r1,r2,r3'
+[^:]*:67: Error: selected processor does not support Thumb mode `uqsub8 r1,r2,r3'
+[^:]*:68: Error: selected processor does not support Thumb mode `uqsax r1,r2,r3'
+[^:]*:69: Error: selected processor does not support Thumb mode `uqsubaddx r1,r2,r3'
+[^:]*:70: Error: selected processor does not support Thumb mode `sel r1,r2,r3'
+[^:]*:73: Error: selected processor does not support Thumb mode `smlabb r0,r0,r0,r0'
+[^:]*:74: Error: selected processor does not support Thumb mode `smlabb r9,r0,r0,r0'
+[^:]*:75: Error: selected processor does not support Thumb mode `smlabb r0,r9,r0,r0'
+[^:]*:76: Error: selected processor does not support Thumb mode `smlabb r0,r0,r9,r0'
+[^:]*:77: Error: selected processor does not support Thumb mode `smlabb r0,r0,r0,r9'
+[^:]*:79: Error: selected processor does not support Thumb mode `smlatb r0,r0,r0,r0'
+[^:]*:80: Error: selected processor does not support Thumb mode `smlabt r0,r0,r0,r0'
+[^:]*:81: Error: selected processor does not support Thumb mode `smlatt r0,r0,r0,r0'
+[^:]*:82: Error: selected processor does not support Thumb mode `smlawb r0,r0,r0,r0'
+[^:]*:83: Error: selected processor does not support Thumb mode `smlawt r0,r0,r0,r0'
+[^:]*:84: Error: selected processor does not support Thumb mode `smlad r0,r0,r0,r0'
+[^:]*:85: Error: selected processor does not support Thumb mode `smladx r0,r0,r0,r0'
+[^:]*:86: Error: selected processor does not support Thumb mode `smlsd r0,r0,r0,r0'
+[^:]*:87: Error: selected processor does not support Thumb mode `smlsdx r0,r0,r0,r0'
+[^:]*:88: Error: selected processor does not support Thumb mode `smmla r0,r0,r0,r0'
+[^:]*:89: Error: selected processor does not support Thumb mode `smmlar r0,r0,r0,r0'
+[^:]*:90: Error: selected processor does not support Thumb mode `smmls r0,r0,r0,r0'
+[^:]*:91: Error: selected processor does not support Thumb mode `smmlsr r0,r0,r0,r0'
+[^:]*:92: Error: selected processor does not support Thumb mode `usada8 r0,r0,r0,r0'
+[^:]*:95: Error: selected processor does not support Thumb mode `smlalbb r0,r0,r0,r0'
+[^:]*:96: Error: selected processor does not support Thumb mode `smlalbb r9,r0,r0,r0'
+[^:]*:97: Error: selected processor does not support Thumb mode `smlalbb r0,r9,r0,r0'
+[^:]*:98: Error: selected processor does not support Thumb mode `smlalbb r0,r0,r9,r0'
+[^:]*:99: Error: selected processor does not support Thumb mode `smlalbb r0,r0,r0,r9'
+[^:]*:101: Error: selected processor does not support Thumb mode `smlaltb r0,r0,r0,r0'
+[^:]*:102: Error: selected processor does not support Thumb mode `smlalbt r0,r0,r0,r0'
+[^:]*:103: Error: selected processor does not support Thumb mode `smlaltt r0,r0,r0,r0'
+[^:]*:104: Error: selected processor does not support Thumb mode `smlald r0,r0,r0,r0'
+[^:]*:105: Error: selected processor does not support Thumb mode `smlaldx r0,r0,r0,r0'
+[^:]*:106: Error: selected processor does not support Thumb mode `smlsld r0,r0,r0,r0'
+[^:]*:107: Error: selected processor does not support Thumb mode `smlsldx r0,r0,r0,r0'
+[^:]*:108: Error: selected processor does not support Thumb mode `umaal r0,r0,r0,r0'
+[^:]*:111: Error: selected processor does not support Thumb mode `smulbb r0,r0,r0'
+[^:]*:112: Error: selected processor does not support Thumb mode `smulbb r9,r0,r0'
+[^:]*:113: Error: selected processor does not support Thumb mode `smulbb r0,r9,r0'
+[^:]*:114: Error: selected processor does not support Thumb mode `smulbb r0,r0,r9'
+[^:]*:116: Error: selected processor does not support Thumb mode `smultb r0,r0,r0'
+[^:]*:117: Error: selected processor does not support Thumb mode `smulbt r0,r0,r0'
+[^:]*:118: Error: selected processor does not support Thumb mode `smultt r0,r0,r0'
+[^:]*:119: Error: selected processor does not support Thumb mode `smulwb r0,r0,r0'
+[^:]*:120: Error: selected processor does not support Thumb mode `smulwt r0,r0,r0'
+[^:]*:121: Error: selected processor does not support Thumb mode `smmul r0,r0,r0'
+[^:]*:122: Error: selected processor does not support Thumb mode `smmulr r0,r0,r0'
+[^:]*:123: Error: selected processor does not support Thumb mode `smuad r0,r0,r0'
+[^:]*:124: Error: selected processor does not support Thumb mode `smuadx r0,r0,r0'
+[^:]*:125: Error: selected processor does not support Thumb mode `smusd r0,r0,r0'
+[^:]*:126: Error: selected processor does not support Thumb mode `smusdx r0,r0,r0'
+[^:]*:127: Error: selected processor does not support Thumb mode `usad8 r0,r0,r0'
+[^:]*:130: Error: selected processor does not support Thumb mode `ssat16 r0,#1,r0'
+[^:]*:131: Error: selected processor does not support Thumb mode `ssat16 r9,#1,r0'
+[^:]*:132: Error: selected processor does not support Thumb mode `ssat16 r0,#10,r0'
+[^:]*:133: Error: selected processor does not support Thumb mode `ssat16 r0,#1,r9'
+[^:]*:135: Error: selected processor does not support Thumb mode `usat16 r0,#0,r0'
+[^:]*:136: Error: selected processor does not support Thumb mode `usat16 r9,#0,r0'
+[^:]*:137: Error: selected processor does not support Thumb mode `usat16 r0,#9,r0'
+[^:]*:138: Error: selected processor does not support Thumb mode `usat16 r0,#0,r9'
+[^:]*:141: Error: selected processor does not support Thumb mode `sxtb16 r1,r2'
+[^:]*:142: Error: selected processor does not support Thumb mode `sxtb16 r8,r9'
+[^:]*:143: Error: selected processor does not support Thumb mode `uxtb16 r1,r2'
+[^:]*:144: Error: selected processor does not support Thumb mode `uxtb16 r8,r9'
+[^:]*:147: Error: selected processor does not support Thumb mode `sxtab r0,r0,r0'
+[^:]*:148: Error: selected processor does not support Thumb mode `sxtab r0,r0,r0,ror#0'
+[^:]*:149: Error: selected processor does not support Thumb mode `sxtab r9,r0,r0,ror#8'
+[^:]*:150: Error: selected processor does not support Thumb mode `sxtab r0,r9,r0,ror#16'
+[^:]*:151: Error: selected processor does not support Thumb mode `sxtab r0,r0,r9,ror#24'
+[^:]*:153: Error: selected processor does not support Thumb mode `sxtab16 r1,r2,r3'
+[^:]*:154: Error: selected processor does not support Thumb mode `sxtah r1,r2,r3'
+[^:]*:155: Error: selected processor does not support Thumb mode `uxtab r1,r2,r3'
+[^:]*:156: Error: selected processor does not support Thumb mode `uxtab16 r1,r2,r3'
+[^:]*:157: Error: selected processor does not support Thumb mode `uxtah r1,r2,r3'
diff --git a/gas/testsuite/gas/arm/arch7m-bad.l b/gas/testsuite/gas/arm/arch7m-bad.l
index c962dac..2b73009 100644
--- a/gas/testsuite/gas/arm/arch7m-bad.l
+++ b/gas/testsuite/gas/arm/arch7m-bad.l
@@ -1,5 +1,5 @@
[^:]*: Assembler messages:
[^:]*:5: Error: selected processor does not support 'A' form of this instruction -- `cpsie a'
[^:]*:6: Error: Thumb does not support the 2-argument form of this instruction -- `cpsie i,#0x10'
-[^:]*:7: Error: selected processor does not support `cps #0x10'
+[^:]*:7: Error: selected processor does not support Thumb mode `cps #0x10'
diff --git a/gas/testsuite/gas/arm/arm7-bad.d b/gas/testsuite/gas/arm/arm7-bad.d
new file mode 100644
index 0000000..45f900c
--- /dev/null
+++ b/gas/testsuite/gas/arm/arm7-bad.d
@@ -0,0 +1,3 @@
+# name: ARM mode Thumb errors
+# as:
+# error-output: arm7-bad.l
diff --git a/gas/testsuite/gas/arm/arm7-bad.l b/gas/testsuite/gas/arm/arm7-bad.l
new file mode 100644
index 0000000..9892320
--- /dev/null
+++ b/gas/testsuite/gas/arm/arm7-bad.l
@@ -0,0 +1,2 @@
+.*arm7-bad.s: Assembler messages:
+.*arm7-bad.s:5: Error: selected processor does not support ARM mode `cbnz r0,.\+6'
diff --git a/gas/testsuite/gas/arm/arm7-bad.s b/gas/testsuite/gas/arm/arm7-bad.s
new file mode 100644
index 0000000..8b37187
--- /dev/null
+++ b/gas/testsuite/gas/arm/arm7-bad.s
@@ -0,0 +1,7 @@
+ .text
+ .cpu cortex-a8
+ .syntax unified
+ .arm
+ cbnz r0, .+6
+ .thumb
+ cbnz r0, .+6
diff --git a/gas/testsuite/gas/arm/armv1-bad.l b/gas/testsuite/gas/arm/armv1-bad.l
index 423672c..22090d5 100644
--- a/gas/testsuite/gas/arm/armv1-bad.l
+++ b/gas/testsuite/gas/arm/armv1-bad.l
@@ -2,7 +2,7 @@
[^:]*:4: Error: invalid pseudo operation -- `str r0,=0x00ff0000'
[^:]*:5: Error: bad expression -- `ldr r0,{r1}'
[^:]*:6: Error: bad instruction `cmpl r0,r0'
-[^:]*:7: Error: selected processor does not support `strh r0,\[r1\]'
+[^:]*:7: Error: selected processor does not support ARM mode `strh r0,\[r1\]'
[^:]*:8: Warning: writeback of base register is UNPREDICTABLE
[^:]*:9: Warning: writeback of base register when in register list is UNPREDICTABLE
[^:]*:10: Warning: writeback of base register is UNPREDICTABLE
diff --git a/gas/testsuite/gas/arm/thumb-w-bad.l b/gas/testsuite/gas/arm/thumb-w-bad.l
index 85ce74c..342b5e7 100644
--- a/gas/testsuite/gas/arm/thumb-w-bad.l
+++ b/gas/testsuite/gas/arm/thumb-w-bad.l
@@ -1,3 +1,3 @@
[^:]*: Assembler messages:
-[^:]*:4: Error: selected processor does not support `mov.w r1,r2'
-[^:]*:5: Error: selected processor does not support `mrs.w r0,apsr'
+[^:]*:4: Error: selected processor does not support Thumb-2 mode `mov.w r1,r2'
+[^:]*:5: Error: selected processor does not support Thumb mode `mrs.w r0,apsr'