diff options
author | Peter Bergner <bergner@vnet.ibm.com> | 2009-01-15 04:27:28 +0000 |
---|---|---|
committer | Peter Bergner <bergner@vnet.ibm.com> | 2009-01-15 04:27:28 +0000 |
commit | 21169fcfadfac63f7c02e33e19301cf375930b5e (patch) | |
tree | d545609c268e153a1916cad1dd063f8bb10938c2 /opcodes | |
parent | bbbfea06e5f64310ea70f28722f8e43ec01abbca (diff) | |
download | gdb-21169fcfadfac63f7c02e33e19301cf375930b5e.zip gdb-21169fcfadfac63f7c02e33e19301cf375930b5e.tar.gz gdb-21169fcfadfac63f7c02e33e19301cf375930b5e.tar.bz2 |
opcodes/
* ppc-dis.c (print_insn_powerpc): Skip insn if it is deprecated.
* ppc-opc.c (powerpc_opcodes) <mtfsf, mtfsf.>: Deprecate the two
operand form and enable the four operand form for POWER6 and later.
<mtfsfi, mtfsfi.>: Deprecate the two operand form and enable the
three operand form for POWER6 and later.
gas/testsuite/
* gas/ppc/power6.s ("mtfsf", "mtfsf.", "mtfsfi", "mtfsfi."): Add tests.
* gas/ppc/power6.d: Likewise.
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 8 | ||||
-rw-r--r-- | opcodes/ppc-dis.c | 3 | ||||
-rw-r--r-- | opcodes/ppc-opc.c | 12 |
3 files changed, 18 insertions, 5 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 1d50cc1..df43357 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,11 @@ +2009-01-14 Peter Bergner <bergner@vnet.ibm.com> + + * ppc-dis.c (print_insn_powerpc): Skip insn if it is deprecated. + * ppc-opc.c (powerpc_opcodes) <mtfsf, mtfsf.>: Deprecate the two + operand form and enable the four operand form for POWER6 and later. + <mtfsfi, mtfsfi.>: Deprecate the two operand form and enable the + three operand form for POWER6 and later. + 2009-01-14 Mike Frysinger <vapier@gentoo.org> * bfin-dis.c (OUTS): Use "%s" as format string. diff --git a/opcodes/ppc-dis.c b/opcodes/ppc-dis.c index 061aa84..88c4fe7 100644 --- a/opcodes/ppc-dis.c +++ b/opcodes/ppc-dis.c @@ -266,7 +266,8 @@ print_insn_powerpc (bfd_vma memaddr, continue; if ((insn & opcode->mask) != opcode->opcode - || (opcode->flags & dialect) == 0) + || (opcode->flags & dialect) == 0 + || (opcode->deprecated & dialect) != 0) continue; /* Make two passes over the operands. First see if any of them diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c index 3ec8fed..511fd81 100644 --- a/opcodes/ppc-opc.c +++ b/opcodes/ppc-opc.c @@ -4887,8 +4887,10 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"dcmpoq", X(63,130), X_MASK, POWER6, PPCNONE, {BF, FRA, FRB}}, -{"mtfsfi", XRC(63,134,0), XWRA_MASK|(3<<21)|(1<<11), COM, PPCNONE, {BFF, U, W}}, -{"mtfsfi.", XRC(63,134,1), XWRA_MASK|(3<<21)|(1<<11), COM, PPCNONE, {BFF, U, W}}, +{"mtfsfi", XRC(63,134,0), XRA_MASK|(3<<21)|(1<<11), COM, POWER6, {BFF, U}}, +{"mtfsfi", XRC(63,134,0), XWRA_MASK|(3<<21)|(1<<11), POWER6, PPCNONE, {BFF, U, W}}, +{"mtfsfi.", XRC(63,134,1), XRA_MASK|(3<<21)|(1<<11), COM, POWER6, {BFF, U}}, +{"mtfsfi.", XRC(63,134,1), XWRA_MASK|(3<<21)|(1<<11), POWER6, PPCNONE, {BFF, U, W}}, {"fnabs", XRC(63,136,0), XRA_MASK, COM, PPCNONE, {FRT, FRB}}, {"fnabs.", XRC(63,136,1), XRA_MASK, COM, PPCNONE, {FRT, FRB}}, @@ -4937,8 +4939,10 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"dtstsfq", X(63,674), X_MASK, POWER6, PPCNONE, {BF, FRA, FRB}}, -{"mtfsf", XFL(63,711,0), XFL_MASK, COM, PPCNONE, {FLM, FRB, XFL_L, W}}, -{"mtfsf.", XFL(63,711,1), XFL_MASK, COM, PPCNONE, {FLM, FRB, XFL_L, W}}, +{"mtfsf", XFL(63,711,0), XFL_MASK, COM, POWER6, {FLM, FRB}}, +{"mtfsf", XFL(63,711,0), XFL_MASK, POWER6, PPCNONE, {FLM, FRB, XFL_L, W}}, +{"mtfsf.", XFL(63,711,1), XFL_MASK, COM, POWER6, {FLM, FRB}}, +{"mtfsf.", XFL(63,711,1), XFL_MASK, POWER6, PPCNONE, {FLM, FRB, XFL_L, W}}, {"drdpq", XRC(63,770,0), X_MASK, POWER6, PPCNONE, {FRT, FRB}}, {"drdpq.", XRC(63,770,1), X_MASK, POWER6, PPCNONE, {FRT, FRB}}, |