Blame SOURCES/gdb-rhbz1320945-power9-29of38.patch

01917d
commit 19dfcc89e8d94526f011242041b700ede8834996
01917d
Author: Peter Bergner <bergner@vnet.ibm.com>
01917d
Date:   Thu May 26 19:06:51 2016 -0500
01917d
01917d
    Add support for new POWER ISA 3.0 instructions.
01917d
    
01917d
    opcodes/
01917d
    
01917d
            * ppc-opc.c (CY): New define.  Document it.
01917d
            (powerpc_opcodes) <addex[.], lwzmx, vmsumudm>: New mnemonics.
01917d
    
01917d
    gas/
01917d
            * testsuite/gas/ppc/altivec3.d <vmsumudm>: Add test.
01917d
            * testsuite/gas/ppc/altivec3.s: Likewise.
01917d
            * testsuite/gas/ppc/power9.d <addex[.], lwzmx, vmsumudm>: Add tests.
01917d
            * testsuite/gas/ppc/power9.s: Likewise.
01917d
01917d
### a/opcodes/ChangeLog
01917d
### b/opcodes/ChangeLog
01917d
## -1,3 +1,8 @@
01917d
+2016-05-26  Peter Bergner <bergner@vnet.ibm.com>
01917d
+
01917d
+	* ppc-opc.c (CY): New define.  Document it.
01917d
+	(powerpc_opcodes) <addex[.], lwzmx, vmsumudm>: New mnemonics.
01917d
+
01917d
 2016-05-25  H.J. Lu  <hongjiu.lu@intel.com>
01917d
 
01917d
 	* i386-gen.c (cpu_flag_init): Add CpuVREX to CPU_AVX512DQ_FLAGS,
01917d
--- a/opcodes/ppc-opc.c
01917d
+++ b/opcodes/ppc-opc.c
01917d
@@ -815,7 +815,9 @@ const struct powerpc_operand powerpc_operands[] =
01917d
 #define X_R A_L
01917d
   { 0x1, 16, NULL, NULL, PPC_OPERAND_OPTIONAL },
01917d
 
01917d
+  /* The RMC or CY field in a Z23 form instruction.  */
01917d
 #define RMC A_L + 1
01917d
+#define CY RMC
01917d
   { 0x3, 9, NULL, NULL, 0 },
01917d
 
01917d
 #define R RMC + 1
01917d
@@ -3145,6 +3147,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
01917d
 {"vmhaddshs",	VXA(4,	32),	VXA_MASK,    PPCVEC|PPCVLE, PPCNONE,	{VD, VA, VB, VC}},
01917d
 {"vmhraddshs",	VXA(4,	33),	VXA_MASK,    PPCVEC|PPCVLE, PPCNONE,	{VD, VA, VB, VC}},
01917d
 {"vmladduhm",	VXA(4,	34),	VXA_MASK,    PPCVEC|PPCVLE, PPCNONE,	{VD, VA, VB, VC}},
01917d
+{"vmsumudm",	VXA(4,	35),	VXA_MASK,    PPCVEC3,	PPCNONE,	{VD, VA, VB, VC}},
01917d
 {"ps_div",	A  (4,	18,0),	AFRC_MASK,   PPCPS,	PPCNONE,	{FRT, FRA, FRB}},
01917d
 {"vmsumubm",	VXA(4,	36),	VXA_MASK,    PPCVEC|PPCVLE, PPCNONE,	{VD, VA, VB, VC}},
01917d
 {"ps_div.",	A  (4,	18,1),	AFRC_MASK,   PPCPS,	PPCNONE,	{FRT, FRA, FRB}},
01917d
@@ -4977,6 +4980,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
01917d
 {"stvehx",	X(31,167),	X_MASK,      PPCVEC,	PPCNONE,	{VS, RA0, RB}},
01917d
 {"sthfcmx",	APU(31,167,0), 	APU_MASK,    PPC405,	PPCNONE,	{FCRT, RA, RB}},
01917d
 
01917d
+{"addex",	ZRC(31,170,0),	Z2_MASK,     POWER9,	PPCNONE,	{RT, RA, RB, CY}},
01917d
+{"addex.",	ZRC(31,170,1),	Z2_MASK,     POWER9,	PPCNONE,	{RT, RA, RB, CY}},
01917d
+
01917d
 {"msgclrp",	XRTRA(31,174,0,0), XRTRA_MASK, POWER8,	PPCNONE,	{RB}},
01917d
 {"dcbtlse",	X(31,174),	X_MASK,      PPCCHLK,	E500MC,		{CT, RA0, RB}},
01917d
 
01917d
@@ -5504,6 +5510,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
01917d
 
01917d
 {"mtvsrdd",	X(31,435),	XX1_MASK,    PPCVSX3,	PPCNONE,	{XT6, RA0, RB}},
01917d
 
01917d
+{"lwzmx",	X(31,437),	X_MASK,      POWER9,	PPCNONE,  	{RT, RA0, RB}},
01917d
+
01917d
 {"ecowx",	X(31,438),	X_MASK,      PPC,	E500|TITAN,  	{RT, RA0, RB}},
01917d
 
01917d
 {"sthux",	X(31,439),	X_MASK,      COM|PPCVLE, PPCNONE,	{RS, RAS, RB}},