aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog7
-rw-r--r--gas/config/tc-arm.c5
2 files changed, 12 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 7b5a7f9..51376d8 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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.
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 948c699..6db23f3 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -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;
}