Bye Bye PPC_OPCODE_VSX3
authorAlan Modra <amodra@gmail.com>
Mon, 10 Apr 2017 22:06:43 +0000 (07:36 +0930)
committerAlan Modra <amodra@gmail.com>
Mon, 10 Apr 2017 22:06:43 +0000 (07:36 +0930)
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.

include/ChangeLog
include/opcode/ppc.h
opcodes/ChangeLog
opcodes/ppc-dis.c
opcodes/ppc-opc.c

index 9e3223c..e6a92a8 100644 (file)
@@ -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>
 
index c0112db..8c41cdc 100644 (file)
@@ -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
 
index ef69ec4..eb432a7 100644 (file)
@@ -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>
 
index 863b429..64fadc2 100644 (file)
@@ -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 },
index 8c34ec1..7294c6d 100644 (file)
@@ -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