01917d
commit b817670b52b7414d592cbfd96fd77cf725a33413
01917d
Author: Alan Modra <amodra@gmail.com>
01917d
Date:   Sat Dec 12 17:26:33 2015 +1030
01917d
01917d
    Enable 2 operand form of powerpc mfcr with -many
01917d
    
01917d
    This is a workaround for a gcc bug.
01917d
    
01917d
            PR 19359
01917d
            * ppc-opc.c (insert_fxm): Remove "ignored" from error message.
01917d
            (powerpc_opcodes): Remove single-operand mfcr.
01917d
01917d
### a/opcodes/ChangeLog
01917d
### b/opcodes/ChangeLog
01917d
## -1,3 +1,9 @@
01917d
+2015-12-12  Alan Modra  <amodra@gmail.com>
01917d
+
01917d
+	PR 19359
01917d
+	* ppc-opc.c (insert_fxm): Remove "ignored" from error message.
01917d
+	(powerpc_opcodes): Remove single-operand mfcr.
01917d
+
01917d
 2015-12-11  Matthew Wahab  <matthew.wahab@arm.com>
01917d
 
01917d
 	* aarch64-asm.c (aarch64_ins_hint): New.
01917d
--- a/opcodes/ppc-opc.c
01917d
+++ b/opcodes/ppc-opc.c
01917d
@@ -1434,7 +1434,7 @@ insert_fxm (unsigned long insn,
01917d
       /* A value of -1 means we used the one operand form of
01917d
 	 mfcr which is valid.  */
01917d
       if (value != -1)
01917d
-        *errmsg = _("ignoring invalid mfcr mask");
01917d
+        *errmsg = _("invalid mfcr mask");
01917d
       value = 0;
01917d
     }
01917d
 
01917d
@@ -4742,8 +4742,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
01917d
 {"tlbilxva",	XTO(31,18,3),	XTO_MASK, E500MC|PPCA2,	PPCNONE,	{RA0, RB}},
01917d
 {"tlbilx",	X(31,18),	X_MASK,   E500MC|PPCA2,	PPCNONE,	{T, RA0, RB}},
01917d
 
01917d
-{"mfcr",	XFXM(31,19,0,0), XFXFXM_MASK, POWER4,	PPCNONE,	{RT, FXM4}},
01917d
-{"mfcr",	XFXM(31,19,0,0), XRARB_MASK, COM|PPCVLE, POWER4,	{RT}},
01917d
+{"mfcr",	XFXM(31,19,0,0), XFXFXM_MASK, COM|PPCVLE, PPCNONE,	{RT, FXM4}},
01917d
 {"mfocrf",	XFXM(31,19,0,1), XFXFXM_MASK, COM|PPCVLE, PPCNONE,	{RT, FXM}},
01917d
 
01917d
 {"lwarx",	X(31,20),	XEH_MASK,    PPC|PPCVLE, PPCNONE,	{RT, RA0, RB, EH}},