aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2003-10-17 07:01:44 +0000
committerIan Lance Taylor <ian@airs.com>2003-10-17 07:01:44 +0000
commitece01a639de516f5dec8d869598ba7a017725c88 (patch)
tree2befa19f3d9762fea1d273221aa9c448f1477521
parent91e93d2617514c2501454b7da451a367eb9f741b (diff)
downloadgdb-ece01a639de516f5dec8d869598ba7a017725c88.zip
gdb-ece01a639de516f5dec8d869598ba7a017725c88.tar.gz
gdb-ece01a639de516f5dec8d869598ba7a017725c88.tar.bz2
* 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.
-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;
}