diff options
author | Peter Bergner <bergner@vnet.ibm.com> | 2017-03-08 20:49:03 -0600 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2017-03-09 19:12:12 +1030 |
commit | b5d3ac25628b1a16409a9816623c34a45377d400 (patch) | |
tree | 857263271259ec90c099feeac061e8704a4e4b94 /opcodes | |
parent | ea5189f99474364e6f0d066e5da2960e56596e4b (diff) | |
download | gdb-b5d3ac25628b1a16409a9816623c34a45377d400.zip gdb-b5d3ac25628b1a16409a9816623c34a45377d400.tar.gz gdb-b5d3ac25628b1a16409a9816623c34a45377d400.tar.bz2 |
Update -maltivec and -mvsx options to only enable their oldest instructions.binutils-2_27-branch
Currently, the -maltivec and -mvsx GAS options enable *all* of the altivec
and vsx instructions respecitively that have ever been added. This is in
constract to GCC's -maltivec and -mvsx options, which only enable the oldest
(ie, first) set of altivec and vsx instructions. This patch changes GAS to
mimic GCC's behaviour with respect to -maltivec and -mvsx and it solves a
problem with trying to assemble the lxvx instruction which is different
between POWER8 and POWER9.
opcodes/
* ppc-dis.c (ppc_opts) <altivec>: Do not use PPC_OPCODE_ALTIVEC2;
<vsx>: Do not use PPC_OPCODE_VSX3;
gas/
* testsuite/gas/ppc/altivec2.d (as): Use the -mpower8 option.
(objdump): Use the -Mpower8 option.
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 5 | ||||
-rw-r--r-- | opcodes/ppc-dis.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 9cd7249..e5917d4 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,5 +1,10 @@ 2017-03-08 Peter Bergner <bergner@vnet.ibm.com> + * ppc-dis.c (ppc_opts) <altivec>: Do not use PPC_OPCODE_ALTIVEC2; + <vsx>: Do not use PPC_OPCODE_VSX3; + +2017-03-08 Peter Bergner <bergner@vnet.ibm.com> + Apply from master. 2017-03-08 Peter Bergner <bergner@vnet.ibm.com> * ppc-opc.c (powerpc_opcodes) <lnia>: New extended mnemonic. diff --git a/opcodes/ppc-dis.c b/opcodes/ppc-dis.c index 77a2a60..e7a59b3 100644 --- a/opcodes/ppc-dis.c +++ b/opcodes/ppc-dis.c @@ -93,7 +93,7 @@ struct ppc_mopt ppc_opts[] = { | PPC_OPCODE_A2), 0 }, { "altivec", PPC_OPCODE_PPC, - PPC_OPCODE_ALTIVEC | PPC_OPCODE_ALTIVEC2 }, + PPC_OPCODE_ALTIVEC }, { "any", 0, PPC_OPCODE_ANY }, { "booke", PPC_OPCODE_PPC | PPC_OPCODE_BOOKE, @@ -216,7 +216,7 @@ struct ppc_mopt ppc_opts[] = { | PPC_OPCODE_E500), PPC_OPCODE_VLE }, { "vsx", PPC_OPCODE_PPC, - PPC_OPCODE_VSX | PPC_OPCODE_VSX3 }, + PPC_OPCODE_VSX }, { "htm", PPC_OPCODE_PPC, PPC_OPCODE_HTM }, }; |