[binutils-gdb/binutils-2_26-branch] Add support for the new 'lnia' extended mnemonic.

Peter Bergner bergner@sourceware.org
Wed Mar 8 22:25:00 GMT 2017


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=021d0c6ad1971f89c7c22953a61fdd52414cd55d

commit 021d0c6ad1971f89c7c22953a61fdd52414cd55d
Author: Peter Bergner <bergner@vnet.ibm.com>
Date:   Wed Mar 8 16:24:58 2017 -0600

    Add support for the new 'lnia' extended mnemonic.
    
    opcodes/
    	Apply from master.
    	2017-03-08  Peter Bergner  <bergner@vnet.ibm.com>
    	* ppc-opc.c (powerpc_opcodes) <lnia>: New extended mnemonic.
    
    gas/
    	Apply from master.
    	2017-03-08  Peter Bergner  <bergner@vnet.ibm.com>
    	* testsuite/gas/ppc/power9.d <lnia> New test.
    	* testsuite/gas/ppc/power9.s: Likewise.

Diff:
---
 gas/ChangeLog                  | 7 +++++++
 gas/testsuite/gas/ppc/power9.d | 5 +++--
 gas/testsuite/gas/ppc/power9.s | 1 +
 opcodes/ChangeLog              | 6 ++++++
 opcodes/ppc-opc.c              | 3 +++
 5 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/gas/ChangeLog b/gas/ChangeLog
index 5761c77..2404fe1 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,10 @@
+2017-03-08  Peter Bergner  <bergner@vnet.ibm.com>
+
+	Apply from master.
+	2017-03-08  Peter Bergner  <bergner@vnet.ibm.com>
+	* testsuite/gas/ppc/power9.d <lnia> New test.
+	* testsuite/gas/ppc/power9.s: Likewise.
+
 2017-02-28  Peter Bergner <bergner@vnet.ibm.com>
 
 	Apply from master.
diff --git a/gas/testsuite/gas/ppc/power9.d b/gas/testsuite/gas/ppc/power9.d
index 8e2f251..27ac034 100644
--- a/gas/testsuite/gas/ppc/power9.d
+++ b/gas/testsuite/gas/ppc/power9.d
@@ -310,8 +310,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
diff --git a/gas/testsuite/gas/ppc/power9.s b/gas/testsuite/gas/ppc/power9.s
index 45f7b5b..31611ee 100644
--- a/gas/testsuite/gas/ppc/power9.s
+++ b/gas/testsuite/gas/ppc/power9.s
@@ -301,6 +301,7 @@ power9:
 	xscvdphp    41,51
 	xvcvhpsp    42,52
 	xvcvsphp    43,53
+	lnia        3
 	addpcis     3,0
 	subpcis     3,0
 	addpcis     4,1
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 1a22b34..8b5ef7a 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,9 @@
+2017-03-08  Peter Bergner  <bergner@vnet.ibm.com>
+
+	Apply from master.
+	2017-03-08  Peter Bergner  <bergner@vnet.ibm.com>
+	* ppc-opc.c (powerpc_opcodes) <lnia>: New extended mnemonic.
+
 2017-02-28  Peter Bergner <bergner@vnet.ibm.com>
 
 	Apply from master.
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index 8190195..604c856 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -2479,6 +2479,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)
@@ -4191,6 +4193,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 
 {"mcrf",      XL(19,0), XLBB_MASK|(3<<21)|(3<<16), COM,	PPCNONE,	{BF, BFA}},
 
+{"lnia",      DX(19,2),		NODX_MASK,   POWER9,	PPCNONE,	{RT}},
 {"addpcis",   DX(19,2),		DX_MASK,     POWER9,	PPCNONE,	{RT, DXD}},
 {"subpcis",   DX(19,2),		DX_MASK,     POWER9,	PPCNONE,	{RT, NDXD}},



More information about the Binutils-cvs mailing list