* config/tc-arm.c (do_iwmmxt_byte_addr): Reject control
authorIan Lance Taylor <ian@airs.com>
Fri, 17 Oct 2003 07:01:44 +0000 (07:01 +0000)
committerIan Lance Taylor <ian@airs.com>
Fri, 17 Oct 2003 07:01:44 +0000 (07:01 +0000)
registers.
(do_iwmmxt_word_addr): With a control register, reject conditional
execution and reject a non-word size.

gas/ChangeLog
gas/config/tc-arm.c

index 7b5a7f93221987fdc464d41ae8b10e232af40ad0..51376d8ddb812c88dcabfef0fbead085128479cc 100644 (file)
@@ -1,3 +1,10 @@
+2003-10-17  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * config/tc-arm.c (do_iwmmxt_byte_addr): Reject control
+       registers.
+       (do_iwmmxt_word_addr): With a control register, reject conditional
+       execution and reject a non-word size.
+
 2003-10-16  Peter Bergner  <bergner@vnet.ibm.com>
 
        * configure.in: Set em=linux for ppc-*-linux-gnu* target.
index 948c699a861010b5a04e3d714d8428e9f1162d6c..6db23f33a9ac59aa942aecab1ef8eb705309760e 100644 (file)
@@ -4890,6 +4890,7 @@ do_iwmmxt_byte_addr (str)
 
   if (wc_register (reg))
     {
+      as_bad (_("non-word size not supported with control register"));
       inst.instruction |=  0xf0000100;
       inst.instruction &= ~0x00400000;
     }
@@ -5065,6 +5066,10 @@ do_iwmmxt_word_addr (str)
 
   if (wc_register (reg))
     {
+      if ((inst.instruction & COND_MASK) != COND_ALWAYS)
+       as_bad (_("conditional execution not supported with control register"));
+      if (op != 2)
+       as_bad (_("non-word size not supported with control register"));
       inst.instruction |=  0xf0000100;
       inst.instruction &= ~0x00400000;
     }