From 239803398de94a92fdcef24b5d7914842dcc5797 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 26 Feb 2016 23:35:13 +1030 Subject: [PATCH] Enable 2 operand form of powerpc mfcr with -many This is a workaround for a gcc bug. PR 19359 * ppc-opc.c (insert_fxm): Remove "ignored" from error message. (powerpc_opcodes): Remove single-operand mfcr. --- opcodes/ChangeLog | 8 ++++++++ opcodes/ppc-opc.c | 5 ++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 45822382b2c..e7f539ad27c 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,11 @@ +2016-02-26 Alan Modra + + Apply from master. + 2015-12-12 Alan Modra + PR 19359 + * ppc-opc.c (insert_fxm): Remove "ignored" from error message. + (powerpc_opcodes): Remove single-operand mfcr. + 2016-02-15 H.J. Lu Backport from master diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c index e8c92f69d45..9b25b60d6cb 100644 --- a/opcodes/ppc-opc.c +++ b/opcodes/ppc-opc.c @@ -1434,7 +1434,7 @@ insert_fxm (unsigned long insn, /* A value of -1 means we used the one operand form of mfcr which is valid. */ if (value != -1) - *errmsg = _("ignoring invalid mfcr mask"); + *errmsg = _("invalid mfcr mask"); value = 0; } @@ -4742,8 +4742,7 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"tlbilxva", XTO(31,18,3), XTO_MASK, E500MC|PPCA2, PPCNONE, {RA0, RB}}, {"tlbilx", X(31,18), X_MASK, E500MC|PPCA2, PPCNONE, {T, RA0, RB}}, -{"mfcr", XFXM(31,19,0,0), XFXFXM_MASK, POWER4, PPCNONE, {RT, FXM4}}, -{"mfcr", XFXM(31,19,0,0), XRARB_MASK, COM|PPCVLE, POWER4, {RT}}, +{"mfcr", XFXM(31,19,0,0), XFXFXM_MASK, COM|PPCVLE, PPCNONE, {RT, FXM4}}, {"mfocrf", XFXM(31,19,0,1), XFXFXM_MASK, COM|PPCVLE, PPCNONE, {RT, FXM}}, {"lwarx", X(31,20), XEH_MASK, PPC|PPCVLE, PPCNONE, {RT, RA0, RB, EH}}, -- 2.47.3