diff options
-rw-r--r-- | gas/ChangeLog | 7 | ||||
-rw-r--r-- | gas/config/tc-arm.c | 5 |
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; } |