diff options
author | Paul Brook <paul@codesourcery.com> | 2007-01-04 20:08:36 +0000 |
---|---|---|
committer | Paul Brook <paul@codesourcery.com> | 2007-01-04 20:08:36 +0000 |
commit | a028a6f5344b31f555a14d6769b61e6871317475 (patch) | |
tree | 3ed88b8e6446b87cabf6a5d87ff074d146777769 /gas | |
parent | aa79a185c9f822e4cd4a5bd773587013ea1e34bd (diff) | |
download | gdb-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/ChangeLog | 4 | ||||
-rw-r--r-- | gas/config/tc-arm.c | 7 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/archv6.d | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/archv6.s | 2 |
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 |