* config/tc-arm.c (md_assemble): Clarify current mode in error
authorNathan Sidwell <nathan@codesourcery.com>
Thu, 13 May 2010 08:15:04 +0000 (08:15 +0000)
committerNathan Sidwell <nathan@codesourcery.com>
Thu, 13 May 2010 08:15:04 +0000 (08:15 +0000)
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.

gas/ChangeLog
gas/config/tc-arm.c
gas/testsuite/ChangeLog
gas/testsuite/gas/arm/arch7em-bad.l
gas/testsuite/gas/arm/arch7m-bad.l
gas/testsuite/gas/arm/arm7-bad.d [new file with mode: 0644]
gas/testsuite/gas/arm/arm7-bad.l [new file with mode: 0644]
gas/testsuite/gas/arm/arm7-bad.s [new file with mode: 0644]
gas/testsuite/gas/arm/armv1-bad.l
gas/testsuite/gas/arm/thumb-w-bad.l

index 0ec4f60..d6dd292 100644 (file)
@@ -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.
index 8c9b33b..bc03294 100644 (file)
@@ -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
index 1d04b89..628239d 100644 (file)
@@ -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.
index f3b3c79..1c47825 100644 (file)
 [^:]*: 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'
index c962dac..2b73009 100644 (file)
@@ -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 (file)
index 0000000..45f900c
--- /dev/null
@@ -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 (file)
index 0000000..9892320
--- /dev/null
@@ -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 (file)
index 0000000..8b37187
--- /dev/null
@@ -0,0 +1,7 @@
+       .text
+       .cpu cortex-a8
+       .syntax unified
+       .arm
+       cbnz r0, .+6
+       .thumb
+       cbnz r0, .+6
index 423672c..22090d5 100644 (file)
@@ -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
index 85ce74c..342b5e7 100644 (file)
@@ -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'