diff options
author | Julian Brown <julian@codesourcery.com> | 2011-04-11 18:49:06 +0000 |
---|---|---|
committer | Julian Brown <julian@codesourcery.com> | 2011-04-11 18:49:06 +0000 |
commit | d2cd12056528be6db995998f488df65c92810c22 (patch) | |
tree | d78777edb7edfe4fc6a5541da2679e4c8ab42f99 /opcodes | |
parent | 4a57f2cf9c4dea05d5b0dfe1799f47b0f8fed96f (diff) | |
download | gdb-d2cd12056528be6db995998f488df65c92810c22.zip gdb-d2cd12056528be6db995998f488df65c92810c22.tar.gz gdb-d2cd12056528be6db995998f488df65c92810c22.tar.bz2 |
gas/
* config/tc-arm.c (parse_psr): Add LHS argument. Improve support
for *APSR bitmasks.
(operand_parse_code): Replace OP_PSR with OP_wPSR and OP_rPSR.
Remove OP_RVC_PSR.
(parse_operands): Likewise.
(do_mrs): Tweak error message for constraint.
(do_t_mrs): Update constraints for changes to APSR support.
(do_t_msr): Likewise. Don't set PSR_f flag here.
(psrs): Remove "g", "nzcvq", "nzcvqg".
(insns): Tweak entries for msr and mrs instructions.
opcodes/
* arm-dis.c (psr_name): Fix typo for BASEPRI_MAX.
(print_insn_thumb32): Add APSR bitmask support.
gas/testsuite/
* gas/arm/mrs-msr-thumb-v7-m.s: New.
* gas/arm/mrs-msr-thumb-v7-m.d: New.
* gas/arm/mrs-msr-thumb-v7-m-bad.d: New.
* gas/arm/mrs-msr-thumb-v7-m-bad.l: New.
* gas/arm/mrs-msr-thumb-v7-m-bad.s: New.
* gas/arm/mrs-msr-thumb-v7e-m.d: New.
* gas/arm/mrs-msr-thumb-v7e-m.s: New.
* gas/arm/mrs-msr-arm-v7-a-bad.d: New.
* gas/arm/mrs-msr-arm-v7-a-bad.l: New.
* gas/arm/mrs-msr-arm-v7-a-bad.s: New.
* gas/arm/mrs-msr-arm-v7-a.d: New.
* gas/arm/mrs-msr-arm-v7-a.s: New.
* gas/arm/mrs-msr-arm-v6.d: New.
* gas/arm/mrs-msr-arm-v6.s: New.
* gas/arm/mrs-msr-thumb-v6t2.d: New.
* gas/arm/mrs-msr-thumb-v6t2.s: New.
* gas/arm/arch7.d: Fix typo in disassembly for BASEPRI_MAX,
bitmasks for IAPSR etc.
* gas/arm/arch7.s: Specify bitmask for APSR writes.
* gas/arm/archv6m.s: Likewise.
* msr-imm-bad.l: Tweak expected disassembly in error message.
* msr-reg-bad.l: Likewise.
* msr-imm.d: Tweak expected disassembly.
* msr-reg.d: Likewise.
* msr-reg-thumb.d: Likewise.
* msr-imm.s: Specify bitmask on APSR writes.
* msr-reg.s: Add comment about deprecated usage.
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 5 | ||||
-rw-r--r-- | opcodes/arm-dis.c | 11 |
2 files changed, 15 insertions, 1 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 7e56d0b..b41a624 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,8 @@ +2011-04-11 Julian Brown <julian@codesourcery.com> + + * arm-dis.c (psr_name): Fix typo for BASEPRI_MAX. + (print_insn_thumb32): Add APSR bitmask support. + 2011-04-07 Paul Carroll<pcarroll@codesourcery.com> * arm-dis.c (print_insn): init vars moved into private_data structure. diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c index f1b2104..b624ac5 100644 --- a/opcodes/arm-dis.c +++ b/opcodes/arm-dis.c @@ -3721,7 +3721,7 @@ psr_name (int regno) case 9: return "PSP"; case 16: return "PRIMASK"; case 17: return "BASEPRI"; - case 18: return "BASEPRI_MASK"; + case 18: return "BASEPRI_MAX"; case 19: return "FAULTMASK"; case 20: return "CONTROL"; default: return "<unknown>"; @@ -4191,6 +4191,15 @@ print_insn_thumb32 (bfd_vma pc, struct disassemble_info *info, long given) else func (stream, "(UNDEF: %lu)", sysm); } + else if ((given & 0xff) <= 3) + { + func (stream, "%s_", psr_name (given & 0xff)); + + if (given & 0x800) + func (stream, "nzcvq"); + if (given & 0x400) + func (stream, "g"); + } else { func (stream, psr_name (given & 0xff)); |