This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH, committed] Update GAS' -maltivec and -mvsx options to only enable the oldest version of their respective instruction sets
- From: Peter Bergner <bergner at vnet dot ibm dot com>
- To: binutils <binutils at sourceware dot org>
- Cc: Alan Modra <amodra at gmail dot com>, Cyril Bur <cyril dot bur at au1 dot ibm dot com>, Bill Schmidt <wschmidt at linux dot vnet dot ibm dot com>
- Date: Wed, 8 Mar 2017 20:57:33 -0600
- Subject: [PATCH, committed] Update GAS' -maltivec and -mvsx options to only enable the oldest version of their respective instruction sets
- Authentication-results: sourceware.org; auth=none
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.
diff --git a/opcodes/ppc-dis.c b/opcodes/ppc-dis.c
index 3f8aef8..ca50689 100644
--- a/opcodes/ppc-dis.c
+++ b/opcodes/ppc-dis.c
@@ -94,7 +94,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,
@@ -226,7 +226,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 },
};
diff --git a/gas/testsuite/gas/ppc/altivec2.d b/gas/testsuite/gas/ppc/altivec2.d
index fc10fb5..26f9afa 100644
--- a/gas/testsuite/gas/ppc/altivec2.d
+++ b/gas/testsuite/gas/ppc/altivec2.d
@@ -1,5 +1,5 @@
-#as: -maltivec
-#objdump: -dr -Maltivec
+#as: -mpower8
+#objdump: -dr -Mpower8
#name: Altivec ISA 2.07 instructions
.*