From f91e006cf5ee5e3109aa2d056abf94449588a993 Mon Sep 17 00:00:00 2001 From: Paul Brook Date: Fri, 8 Sep 2006 15:51:02 +0000 Subject: [PATCH] 2006-09-08 Paul Brook gas/ * config/tc-arm.c (insns): Allow ARM IT pseudo-insn on all cores. gas/testsuite/ * gas/arm/arm-it.s: New test. * gas/arm/arm-it.d: New test. --- gas/ChangeLog | 4 ++++ gas/config/tc-arm.c | 4 +++- gas/testsuite/ChangeLog | 5 +++++ gas/testsuite/gas/arm/arm-it.d | 9 +++++++++ gas/testsuite/gas/arm/arm-it.s | 8 ++++++++ 5 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 gas/testsuite/gas/arm/arm-it.d create mode 100644 gas/testsuite/gas/arm/arm-it.s diff --git a/gas/ChangeLog b/gas/ChangeLog index beaf18b1cfb..b5dd1723aa6 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,7 @@ +2006-09-08 Paul Brook + + * config/tc-arm.c (insns): Allow ARM IT pseudo-insn on all cores. + 2006-09-07 Paul Brook * 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 8388379ce1a..a6f8b6bd3fa 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 7dcdabd606c..4533f544088 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2006-09-08 Paul Brook + + * gas/arm/arm-it.s: New test. + * gas/arm/arm-it.d: New test. + 2006-09-07 Paul Brook * 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 00000000000..674f815f1de --- /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 00000000000..f3c56e8c4b7 --- /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 -- 2.30.2