summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2017-04-11 07:36:43 +0930
committerAlan Modra <amodra@gmail.com>2017-04-11 07:36:43 +0930
commit9570835e5597037bee5042edf822675e715b3caf (patch)
tree97a926c2dc9e45f38949bf7e30216d1ddd5a2590
parent9a85b496ac4e6488d427155c24f87367ab1f6b1b (diff)
downloadbinutils-gdb-9570835e5597037bee5042edf822675e715b3caf.tar.gz
Bye Bye PPC_OPCODE_VSX3
This bit is also useless as it can be replaced with PPC_OPCODE_POWER9. Defining the VSX2 and VSX3 selection based on cpu bits also lets the assembler/disassembler distinguish between the power7 VSX opcodes and the power8 ones. Note that this change means -mvsx now reverts back to just adding the power7 VSX insns. include/ * opcode/ppc.h (PPC_OPCODE_VSX3): Delete. opcodes/ * ppc-dis.c (ppc_opts): Remove PPC_OPCODE_VSX3. * ppc-opc.c (PPCVSX2): Define as PPC_OPCODE_POWER8. (PPCVSX3): Define as PPC_OPCODE_POWER9.
-rw-r--r--include/ChangeLog1
-rw-r--r--include/opcode/ppc.h3
-rw-r--r--opcodes/ChangeLog5
-rw-r--r--opcodes/ppc-dis.c6
-rw-r--r--opcodes/ppc-opc.c4
5 files changed, 9 insertions, 10 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index 9e3223cca40..e6a92a87393 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,6 +1,7 @@
2017-04-11 Alan Modra <amodra@gmail.com>
* opcode/ppc.h (PPC_OPCODE_ALTIVEC2): Delete.
+ (PPC_OPCODE_VSX3): Delete.
2017-04-06 Pip Cet <pipcet@gmail.com>
diff --git a/include/opcode/ppc.h b/include/opcode/ppc.h
index c0112db295e..8c41cdcfdc1 100644
--- a/include/opcode/ppc.h
+++ b/include/opcode/ppc.h
@@ -208,9 +208,6 @@ extern const int vle_num_opcodes;
/* Opcode is only supported by Power9 architecture. */
#define PPC_OPCODE_POWER9 0x20000000000ull
-/* Opcode is supported by Vector-Scalar (VSX) Unit from ISA 2.08. */
-#define PPC_OPCODE_VSX3 0x40000000000ull
-
/* Opcode is supported by e200z4. */
#define PPC_OPCODE_E200Z4 0x80000000000ull
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index ef69ec44f47..eb432a7045b 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,8 +1,11 @@
2017-04-11 Alan Modra <amodra@gmail.com>
- * ppc-dis.c (ppc_opts): Remove PPC_OPCODE_ALTIVEC2.
+ * ppc-dis.c (ppc_opts): Remove PPC_OPCODE_ALTIVEC2 and
+ PPC_OPCODE_VSX3.
* ppc-opc.c (PPCVEC2): Define as PPC_OPCODE_POWER8|PPC_OPCODE_E6500.
(PPCVEC3): Define as PPC_OPCODE_POWER9.
+ (PPCVSX2): Define as PPC_OPCODE_POWER8.
+ (PPCVSX3): Define as PPC_OPCODE_POWER9.
2017-04-10 Alan Modra <amodra@gmail.com>
diff --git a/opcodes/ppc-dis.c b/opcodes/ppc-dis.c
index 863b42902c4..64fadc247c4 100644
--- a/opcodes/ppc-dis.c
+++ b/opcodes/ppc-dis.c
@@ -177,8 +177,7 @@ struct ppc_mopt ppc_opts[] = {
{ "power9", (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64
| PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6
| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
- | PPC_OPCODE_HTM | PPC_OPCODE_ALTIVEC
- | PPC_OPCODE_VSX | PPC_OPCODE_VSX3 ),
+ | PPC_OPCODE_HTM | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX),
0 },
{ "ppc", PPC_OPCODE_PPC,
0 },
@@ -221,8 +220,7 @@ struct ppc_mopt ppc_opts[] = {
{ "pwr9", (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64
| PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6
| PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9
- | PPC_OPCODE_HTM | PPC_OPCODE_ALTIVEC
- | PPC_OPCODE_VSX | PPC_OPCODE_VSX3 ),
+ | PPC_OPCODE_HTM | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX),
0 },
{ "pwrx", PPC_OPCODE_POWER | PPC_OPCODE_POWER2,
0 },
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index 8c34ec1ae34..7294c6d86ad 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -3092,8 +3092,8 @@ extract_vleil (unsigned long insn,
#define PPCVEC2 (PPC_OPCODE_POWER8 | PPC_OPCODE_E6500)
#define PPCVEC3 PPC_OPCODE_POWER9
#define PPCVSX PPC_OPCODE_VSX
-#define PPCVSX2 PPC_OPCODE_VSX
-#define PPCVSX3 PPC_OPCODE_VSX3
+#define PPCVSX2 PPC_OPCODE_POWER8
+#define PPCVSX3 PPC_OPCODE_POWER9
#define POWER PPC_OPCODE_POWER
#define POWER2 PPC_OPCODE_POWER | PPC_OPCODE_POWER2
#define PWR2COM PPC_OPCODE_POWER | PPC_OPCODE_POWER2 | PPC_OPCODE_COMMON