aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog4
-rw-r--r--gas/config/tc-arm.c4
-rw-r--r--gas/testsuite/ChangeLog5
-rw-r--r--gas/testsuite/gas/arm/arm-it.d9
-rw-r--r--gas/testsuite/gas/arm/arm-it.s8
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