summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2006-09-07 20:02:45 +0000
committerPaul Brook <paul@codesourcery.com>2006-09-07 20:02:45 +0000
commit9d172d9f976166c39926d15bbd9366a04307fd66 (patch)
tree5b0b3b78ca2f8aba265520629eaf91b74e147222
parent993a2c031af8df16e80c173710c88086e747e4e7 (diff)
downloadbinutils-gdb-9d172d9f976166c39926d15bbd9366a04307fd66.tar.gz
2006-09-07 Paul Brook <paul@codesourcery.com>
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.
-rw-r--r--ChangeLog.csl9
-rw-r--r--gas/config/tc-arm.c4
-rw-r--r--gas/testsuite/gas/arm/arm-it.d9
-rw-r--r--gas/testsuite/gas/arm/arm-it.s8
4 files changed, 29 insertions, 1 deletions
diff --git a/ChangeLog.csl b/ChangeLog.csl
index 165c9b0aa93..6cfb5140306 100644
--- a/ChangeLog.csl
+++ b/ChangeLog.csl
@@ -1,3 +1,12 @@
+2006-09-07 Paul Brook <paul@codesourcery.com>
+
+ 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.
+
2006-09-06 Paul Brook <paul@codesourcery.com>
gas/
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index e6989747afd..842e72c4878 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -14815,7 +14815,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/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