Blame SOURCES/binutils-2.25.1-power9.2.patch

6439d5
diff -rup binutils.orig/gas/testsuite/gas/ppc/power9.d binutils-2.25.1/gas/testsuite/gas/ppc/power9.d
6439d5
--- binutils.orig/gas/testsuite/gas/ppc/power9.d	2017-09-13 09:58:05.090339261 +0100
6439d5
+++ binutils-2.25.1/gas/testsuite/gas/ppc/power9.d	2017-09-13 09:59:54.284098233 +0100
6439d5
@@ -320,8 +320,9 @@ Disassembly of section \.text:
6439d5
 .*:	(f1 31 9d 6f|6f 9d 31 f1) 	xscvdphp vs41,vs51
6439d5
 .*:	(f1 58 a7 6f|6f a7 58 f1) 	xvcvhpsp vs42,vs52
6439d5
 .*:	(f1 79 af 6f|6f af 79 f1) 	xvcvsphp vs43,vs53
6439d5
-.*:	(4c 60 00 04|04 00 60 4c) 	addpcis r3,0
6439d5
-.*:	(4c 60 00 04|04 00 60 4c) 	addpcis r3,0
6439d5
+.*:	(4c 60 00 04|04 00 60 4c) 	lnia    r3
6439d5
+.*:	(4c 60 00 04|04 00 60 4c) 	lnia    r3
6439d5
+.*:	(4c 60 00 04|04 00 60 4c) 	lnia    r3
6439d5
 .*:	(4c 80 00 05|05 00 80 4c) 	addpcis r4,1
6439d5
 .*:	(4c 80 00 05|05 00 80 4c) 	addpcis r4,1
6439d5
 .*:	(4c bf ff c4|c4 ff bf 4c) 	addpcis r5,-2
6439d5
@@ -418,4 +419,7 @@ Disassembly of section \.text:
6439d5
 .*:	(11 6a 60 34|34 60 6a 11) 	rldixor r10,r11,0,r12
6439d5
 .*:	(11 6a 66 f4|f4 66 6a 11) 	rldixor r10,r11,27,r12
6439d5
 .*:	(11 6a 67 f5|f5 67 6a 11) 	rldixor r10,r11,63,r12
6439d5
+.*:	(01 00 00 44|44 00 00 01) 	scv     0
6439d5
+.*:	(e1 0f 00 44|44 00 0f e1) 	scv     127
6439d5
+.*:	(a4 00 00 4c|4c 00 00 a4) 	rfscv
6439d5
 #pass
6439d5
Only in binutils-2.25.1/gas/testsuite/gas/ppc: power9.d.orig
6439d5
Only in binutils-2.25.1/gas/testsuite/gas/ppc: power9.d.rej
6439d5
diff -rup binutils.orig/gas/testsuite/gas/ppc/power9.s binutils-2.25.1/gas/testsuite/gas/ppc/power9.s
6439d5
--- binutils.orig/gas/testsuite/gas/ppc/power9.s	2017-09-13 09:58:05.090339261 +0100
6439d5
+++ binutils-2.25.1/gas/testsuite/gas/ppc/power9.s	2017-09-13 10:00:14.077873268 +0100
6439d5
@@ -311,6 +311,7 @@ power9:
6439d5
 	xscvdphp    41,51
6439d5
 	xvcvhpsp    42,52
6439d5
 	xvcvsphp    43,53
6439d5
+	lnia        3
6439d5
 	addpcis     3,0
6439d5
 	subpcis     3,0
6439d5
 	addpcis     4,1
6439d5
@@ -409,3 +410,6 @@ power9:
6439d5
 	rldixor     10,11,0,12
6439d5
 	rldixor     10,11,27,12
6439d5
 	rldixor     10,11,63,12
6439d5
+	scv         0
6439d5
+	scv         127
6439d5
+	rfscv
6439d5
Only in binutils-2.25.1/gas/testsuite/gas/ppc: power9.s.orig
6439d5
Only in binutils-2.25.1/gas/testsuite/gas/ppc: power9.s.rej
6439d5
diff -rup binutils.orig/opcodes/ppc-opc.c binutils-2.25.1/opcodes/ppc-opc.c
6439d5
--- binutils.orig/opcodes/ppc-opc.c	2017-09-13 09:58:05.356336238 +0100
6439d5
+++ binutils-2.25.1/opcodes/ppc-opc.c	2017-09-13 10:01:15.410176204 +0100
6439d5
@@ -440,7 +440,7 @@ const struct powerpc_operand powerpc_ope
6439d5
 #define L1 L0 + 1
6439d5
   { 0x1, 21, insert_l1, extract_l1, 0 },
6439d5
 
6439d5
-  /* The LEV field in a POWER SVC form instruction.  */
6439d5
+  /* The LEV field in a POWER SVC / POWER9 SCV form instruction.  */
6439d5
 #define SVC_LEV L1 + 1
6439d5
   { 0x7f, 5, NULL, NULL, 0 },
6439d5
 
6439d5
@@ -2480,6 +2480,9 @@ extract_vleil (unsigned long insn,
6439d5
 #define DX(op, xop) (OP (op) | ((((unsigned long)(xop)) & 0x1f) << 1))
6439d5
 #define DX_MASK DX (0x3f, 0x1f)
6439d5
 
6439d5
+/* An DX form instruction with the D bits specified.  */
6439d5
+#define NODX_MASK (DX_MASK | 0x1fffc1)
6439d5
+
6439d5
 /* An EVSEL form instruction.  */
6439d5
 #define EVSEL(op, xop) (OP (op) | (((unsigned long)(xop)) & 0xff) << 3)
6439d5
 #define EVSEL_MASK EVSEL(0x3f, 0xff)
6439d5
@@ -4181,6 +4184,7 @@ const struct powerpc_opcode powerpc_opco
6439d5
 {"bcla",	B(16,1,1),	B_MASK,      COM,	PPCNONE,	{BO, BI, BDA}},
6439d5
 
6439d5
 {"svc",		SC(17,0,0),	SC_MASK,     POWER,	PPCNONE,	{SVC_LEV, FL1, FL2}},
6439d5
+{"scv",		SC(17,0,1),	SC_MASK,     POWER9,	PPCVLE,		{SVC_LEV}},
6439d5
 {"svcl",	SC(17,0,1),	SC_MASK,     POWER,	PPCNONE,	{SVC_LEV, FL1, FL2}},
6439d5
 {"sc",		SC(17,1,0),	SC_MASK,     PPC,	PPCNONE,	{LEV}},
6439d5
 {"svca",	SC(17,1,0),	SC_MASK,     PWRCOM,	PPCNONE,	{SV}},
6439d5
@@ -4193,6 +4197,7 @@ const struct powerpc_opcode powerpc_opco
6439d5
 
6439d5
 {"mcrf",      XL(19,0), XLBB_MASK|(3<<21)|(3<<16), COM,	PPCNONE,	{BF, BFA}},
6439d5
 
6439d5
+{"lnia",     DX(19,2),		NODX_MASK,   POWER9,	PPCVLE,		{RT}},
6439d5
 {"addpcis",   DX(19,2),		DX_MASK,     POWER9,	PPCNONE,	{RT, DXD}},
6439d5
 {"subpcis",   DX(19,2),		DX_MASK,     POWER9,	PPCNONE,	{RT, NDXD}},
6439d5
 
6439d5
@@ -4430,6 +4435,7 @@ const struct powerpc_opcode powerpc_opco
6439d5
 {"rfi",		XL(19,50),	0xffffffff,  COM,	PPCNONE,	{0}},
6439d5
 {"rfci",	XL(19,51), 0xffffffff, PPC403|BOOKE|PPCE300|PPCA2|PPC476, PPCNONE, {0}},
6439d5
 
6439d5
+{"rfscv",	XL(19,82),	0xffffffff,  POWER9,	PPCVLE,		{0}},
6439d5
 {"rfsvc",	XL(19,82),	0xffffffff,  POWER,	PPCNONE,	{0}},
6439d5
 
6439d5
 {"rfgi",	XL(19,102),   0xffffffff, E500MC|PPCA2,	PPCNONE,	{0}},
6439d5
Only in binutils-2.25.1/opcodes: ppc-opc.c.orig
6439d5
Only in binutils-2.25.1/opcodes: ppc-opc.c.rej