diff options
-rw-r--r-- | gas/ChangeLog | 4 | ||||
-rw-r--r-- | gas/config/tc-arm.c | 4 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/arm-it.d | 9 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/arm-it.s | 8 |
5 files changed, 29 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index beaf18b..b5dd172 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,7 @@ +2006-09-08 Paul Brook <paul@codesourcery.com> + + * config/tc-arm.c (insns): Allow ARM IT pseudo-insn on all cores. + 2006-09-07 Paul Brook <paul@codesourcery.com> * config/tc-arm.c (parse_operands): Mark operand as present. diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 8388379..a6f8b6b 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -14828,7 +14828,9 @@ static const struct asm_opcode insns[] = UT(cbnz, b900, 2, (RR, EXP), t_czb), UT(cbz, b100, 2, (RR, EXP), t_czb), - /* ARM does not really have an IT instruction. */ + /* ARM does not really have an IT instruction, so always allow it. */ +#undef ARM_VARIANT +#define ARM_VARIANT &arm_ext_v1 TUE(it, 0, bf08, 1, (COND), it, t_it), TUE(itt, 0, bf0c, 1, (COND), it, t_it), TUE(ite, 0, bf04, 1, (COND), it, t_it), diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 7dcdabd..4533f54 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2006-09-08 Paul Brook <paul@codesourcery.com> + + * gas/arm/arm-it.s: New test. + * gas/arm/arm-it.d: New test. + 2006-09-07 Paul Brook <paul@codesourcery.com> * gas/arm/neon-omit.s: Test three-argument variants. diff --git a/gas/testsuite/gas/arm/arm-it.d b/gas/testsuite/gas/arm/arm-it.d new file mode 100644 index 0000000..674f815 --- /dev/null +++ b/gas/testsuite/gas/arm/arm-it.d @@ -0,0 +1,9 @@ +#name: ARM IT instruction +#objdump: -dr --prefix-addresses --show-raw-insn +#skip: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* + +.*: +file format .*arm.* + +Disassembly of section .text: +0+000 <[^>]*> 03a00000 ? moveq r0, #0 ; 0x0 +0+004 <[^>]*> e1a0f00e ? mov pc, lr diff --git a/gas/testsuite/gas/arm/arm-it.s b/gas/testsuite/gas/arm/arm-it.s new file mode 100644 index 0000000..f3c56e8 --- /dev/null +++ b/gas/testsuite/gas/arm/arm-it.s @@ -0,0 +1,8 @@ + # Check that IT is accepted in ARM mode on older architectures + .text + .syntax unified + .arch armv4 +label1: + it eq + moveq r0, #0 + mov pc, lr |