aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-arm.c
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/config/tc-arm.c
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/config/tc-arm.c')
-rw-r--r--gas/config/tc-arm.c7
1 files changed, 6 insertions, 1 deletions
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