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