From ece01a639de516f5dec8d869598ba7a017725c88 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 17 Oct 2003 07:01:44 +0000 Subject: [PATCH] * 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. --- gas/ChangeLog | 7 +++++++ gas/config/tc-arm.c | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/gas/ChangeLog b/gas/ChangeLog index 7b5a7f9322..51376d8ddb 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,10 @@ +2003-10-17 Ian Lance Taylor + + * 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 * 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 948c699a86..6db23f33a9 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; } -- 2.34.1