Update -maltivec and -mvsx options to only enable their oldest instructions.
authorPeter Bergner <bergner@vnet.ibm.com>
Thu, 9 Mar 2017 02:49:03 +0000 (20:49 -0600)
committerPeter Bergner <bergner@vnet.ibm.com>
Thu, 9 Mar 2017 02:49:03 +0000 (20:49 -0600)
commit4b8b687e885287ed85dafffcebbb8d03d7ea2c38
treecc1edeea45fd4481f8f06b7c5343c81cd55f3c5a
parentc7341d5a6b334464d84672229d9912d99347db34
Update -maltivec and -mvsx options to only enable their oldest instructions.

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.
gas/ChangeLog
gas/testsuite/gas/ppc/altivec2.d
opcodes/ChangeLog
opcodes/ppc-dis.c