Add support for the new 'lnia' extended mnemonic.
authorPeter Bergner <bergner@vnet.ibm.com>
Wed, 8 Mar 2017 20:00:42 +0000 (14:00 -0600)
committerPeter Bergner <bergner@vnet.ibm.com>
Wed, 8 Mar 2017 20:02:18 +0000 (14:02 -0600)
opcodes/
* ppc-opc.c (powerpc_opcodes) <lnia>: New extended mnemonic.

gas/
* testsuite/gas/ppc/power9.d <lnia> New test.
* testsuite/gas/ppc/power9.s: Likewise.

gas/ChangeLog
gas/testsuite/gas/ppc/power9.d
gas/testsuite/gas/ppc/power9.s
opcodes/ChangeLog
opcodes/ppc-opc.c

index 7949343..f5a4bf7 100644 (file)
@@ -1,3 +1,8 @@
+2017-03-08  Peter Bergner <bergner@vnet.ibm.com>
+
+       * testsuite/gas/ppc/power9.d <lnia> New test.
+       * testsuite/gas/ppc/power9.s: Likewise.
+
 2017-03-07  Alan Modra  <amodra@gmail.com>
 
        * doc/as.texinfo (2byte, 4byte, 8byte): Correct @section placement.
index 9ba53d0..a67898f 100644 (file)
@@ -312,8 +312,9 @@ Disassembly of section \.text:
 .*:    (f1 31 9d 6f|6f 9d 31 f1)       xscvdphp vs41,vs51
 .*:    (f1 58 a7 6f|6f a7 58 f1)       xvcvhpsp vs42,vs52
 .*:    (f1 79 af 6f|6f af 79 f1)       xvcvsphp vs43,vs53
-.*:    (4c 60 00 04|04 00 60 4c)       addpcis r3,0
-.*:    (4c 60 00 04|04 00 60 4c)       addpcis r3,0
+.*:    (4c 60 00 04|04 00 60 4c)       lnia    r3
+.*:    (4c 60 00 04|04 00 60 4c)       lnia    r3
+.*:    (4c 60 00 04|04 00 60 4c)       lnia    r3
 .*:    (4c 80 00 05|05 00 80 4c)       addpcis r4,1
 .*:    (4c 80 00 05|05 00 80 4c)       addpcis r4,1
 .*:    (4c bf ff c4|c4 ff bf 4c)       addpcis r5,-2
index 27f1122..4e3530f 100644 (file)
@@ -303,6 +303,7 @@ power9:
        xscvdphp    41,51
        xvcvhpsp    42,52
        xvcvsphp    43,53
+       lnia        3
        addpcis     3,0
        subpcis     3,0
        addpcis     4,1
index f2b1bec..3a4df13 100644 (file)
@@ -1,3 +1,7 @@
+2017-03-08  Peter Bergner  <bergner@vnet.ibm.com>
+
+       * ppc-opc.c (powerpc_opcodes) <lnia>: New extended mnemonic.
+
 2017-03-06  H.J. Lu  <hongjiu.lu@intel.com>
 
        * i386-dis.c (REG_0F1E_MOD_3): New enum.
index bbff9b3..3580453 100644 (file)
@@ -2552,6 +2552,8 @@ extract_vleil (unsigned long insn,
 /* An DX form instruction.  */
 #define DX(op, xop) (OP (op) | ((((unsigned long)(xop)) & 0x1f) << 1))
 #define DX_MASK DX (0x3f, 0x1f)
+/* An DX form instruction with the D bits specified.  */
+#define NODX_MASK (DX_MASK | 0x1fffc1)
 
 /* An EVSEL form instruction.  */
 #define EVSEL(op, xop) (OP (op) | (((unsigned long)(xop)) & 0xff) << 3)
@@ -4264,6 +4266,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 
 {"mcrf",     XL(19,0), XLBB_MASK|(3<<21)|(3<<16), COM, PPCVLE,         {BF, BFA}},
 
+{"lnia",     DX(19,2),         NODX_MASK,   POWER9,    PPCVLE,         {RT}},
 {"addpcis",  DX(19,2),         DX_MASK,     POWER9,    PPCVLE,         {RT, DXD}},
 {"subpcis",  DX(19,2),         DX_MASK,     POWER9,    PPCVLE,         {RT, NDXD}},