aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2007-01-04 20:08:36 +0000
committerPaul Brook <paul@codesourcery.com>2007-01-04 20:08:36 +0000
commita028a6f5344b31f555a14d6769b61e6871317475 (patch)
tree3ed88b8e6446b87cabf6a5d87ff074d146777769 /gas
parentaa79a185c9f822e4cd4a5bd773587013ea1e34bd (diff)
downloadgdb-a028a6f5344b31f555a14d6769b61e6871317475.zip
gdb-a028a6f5344b31f555a14d6769b61e6871317475.tar.gz
gdb-a028a6f5344b31f555a14d6769b61e6871317475.tar.bz2
2007-01-04 Paul Brook <paul@codesourcery.com>
gas/ * config/tc-arm.c (do_cpsi): Set mmod bit for 2 argument form. gas/testsuite/ * gas/arm/archv6.s: Add more cpsie tests. * gas/arm/archv6.d: Ditto. opcodes/ * arm-dis.c (arm_opcodes): Fix cpsie and cpsid entries.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog4
-rw-r--r--gas/config/tc-arm.c7
-rw-r--r--gas/testsuite/ChangeLog5
-rw-r--r--gas/testsuite/gas/arm/archv6.d2
-rw-r--r--gas/testsuite/gas/arm/archv6.s2
5 files changed, 19 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 096ed25..2955f4c 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,7 @@
+2007-01-04 Paul Brook <paul@codesourcery.com>
+
+ * config/tc-arm.c (do_cpsi): Set mmod bit for 2 argument form.
+
2007-01-04 H.J. Lu <hongjiu.lu@intel.com>
PR gas/3826
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index a95fcb67..45b8d2e 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -548,6 +548,7 @@ struct asm_opcode
#define INDEX_UP 0x00800000
#define WRITE_BACK 0x00200000
#define LDM_TYPE_2_OR_3 0x00400000
+#define CPSI_MMOD 0x00020000
#define LITERAL_MASK 0xf000f000
#define OPCODE_MASK 0xfe1fffff
@@ -6828,7 +6829,11 @@ static void
do_cpsi (void)
{
inst.instruction |= inst.operands[0].imm << 6;
- inst.instruction |= inst.operands[1].imm;
+ if (inst.operands[1].present)
+ {
+ inst.instruction |= CPSI_MMOD;
+ inst.instruction |= inst.operands[1].imm;
+ }
}
static void
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 40a5895..df0a747 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2007-01-04 Paul Brook <paul@codesourcery.com>
+
+ * gas/arm/archv6.s: Add more cpsie tests.
+ * gas/arm/archv6.d: Ditto.
+
2007-01-04 Andreas Schwab <schwab@suse.de>
* gas/m68k/cpu32.[sd]: New test.
diff --git a/gas/testsuite/gas/arm/archv6.d b/gas/testsuite/gas/arm/archv6.d
index 1dbaad3..ed78384 100644
--- a/gas/testsuite/gas/arm/archv6.d
+++ b/gas/testsuite/gas/arm/archv6.d
@@ -217,3 +217,5 @@ Disassembly of section .text:
0+344 <[^>]*> e6ef2475 ? uxtb r2,r5, ROR #8
0+348 <[^>]*> 16ef2075 ? uxtbne r2,r5
0+34c <[^>]*> 16ef2475 ? uxtbne r2,r5, ROR #8
+0+350 <[^>]*> f10a00ca ? cpsie if,#10
+0+354 <[^>]*> f10a00d5 ? cpsie if,#21
diff --git a/gas/testsuite/gas/arm/archv6.s b/gas/testsuite/gas/arm/archv6.s
index 50378b7..d55c98f 100644
--- a/gas/testsuite/gas/arm/archv6.s
+++ b/gas/testsuite/gas/arm/archv6.s
@@ -214,3 +214,5 @@ label:
uxtb r2, r5, ROR #8
uxtbne r2, r5
uxtbne r2, r5, ROR #8
+ cpsie if, #10
+ cpsie if, #21