01917d
commit db76a70026ab100148eb274322fac01f1a1dd466
01917d
Author: Alan Modra <amodra@gmail.com>
01917d
Date:   Sat Nov 29 19:13:17 2014 +1030
01917d
01917d
    Power4 should treat mftb as extended mfspr mnemonic
01917d
    
01917d
    On further reading of ISA manual it appears gas should have been
01917d
    treating mftb and mftbu as extended mnemonics for mfspr, for ISA 2.03
01917d
    and later.
01917d
    
01917d
    opcodes/
01917d
            * ppc-opc.c (powerpc_opcodes): Make mftb* generate mfspr for
01917d
            power4 and later.
01917d
    gas/testsuite/
01917d
            * gas/ppc/a2.d: Update for mftb change.
01917d
            * gas/ppc/476.d: Likewise.
01917d
01917d
### a/opcodes/ChangeLog
01917d
### b/opcodes/ChangeLog
01917d
## -1,3 +1,8 @@
01917d
+2014-11-30  Alan Modra  <amodra@gmail.com>
01917d
+
01917d
+	* ppc-opc.c (powerpc_opcodes): Make mftb* generate mfspr for
01917d
+	power4 and later.
01917d
+
01917d
 2014-11-28  Sandra Loosemore  <sandra@codesourcery.com>
01917d
 
01917d
 	* nios2-opc.c (nios2_r1_opcodes): Remove deleted attributes
01917d
--- a/opcodes/ppc-opc.c
01917d
+++ b/opcodes/ppc-opc.c
01917d
@@ -4880,9 +4880,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
01917d
 {"mfsprg5",	XSPR(31,339,261), XSPR_MASK, PPC405|BOOKE|PPCVLE, PPCNONE, {RT}},
01917d
 {"mfsprg6",	XSPR(31,339,262), XSPR_MASK, PPC405|BOOKE|PPCVLE, PPCNONE, {RT}},
01917d
 {"mfsprg7",	XSPR(31,339,263), XSPR_MASK, PPC405|BOOKE|PPCVLE, PPCNONE, {RT}},
01917d
-{"mftb",	XSPR(31,339,268), XSPR_MASK, BOOKE|PPCVLE, PPCNONE,	{RT}},
01917d
-{"mftbl",	XSPR(31,339,268), XSPR_MASK, BOOKE|PPCVLE, PPCNONE,	{RT}},
01917d
-{"mftbu",	XSPR(31,339,269), XSPR_MASK, BOOKE|PPCVLE, PPCNONE,	{RT}},
01917d
+{"mftbu",	XSPR(31,339,269), XSPR_MASK, POWER4|BOOKE|PPCVLE, PPCNONE, {RT}},
01917d
+{"mftb",	X(31,339),	  X_MASK,    POWER4|BOOKE|PPCVLE, PPCNONE, {RT, TBR}},
01917d
+{"mftbl",	XSPR(31,339,268), XSPR_MASK, POWER4|BOOKE|PPCVLE, PPCNONE, {RT}},
01917d
 {"mfsprg0",	XSPR(31,339,272), XSPR_MASK, PPC|PPCVLE, PPCNONE,	{RT}},
01917d
 {"mfsprg1",	XSPR(31,339,273), XSPR_MASK, PPC|PPCVLE, PPCNONE,	{RT}},
01917d
 {"mfsprg2",	XSPR(31,339,274), XSPR_MASK, PPC|PPCVLE, PPCNONE,	{RT}},
01917d
@@ -5051,9 +5051,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
01917d
 
01917d
 {"tlbia",	X(31,370),	0xffffffff,  PPC,	TITAN,  	{0}},
01917d
 
01917d
-{"mftbl",	XSPR(31,371,268), XSPR_MASK, PPC,	NO371,		{RT}},
01917d
-{"mftbu",	XSPR(31,371,269), XSPR_MASK, PPC,	NO371,		{RT}},
01917d
-{"mftb",	X(31,371),	X_MASK,      PPC|PPCA2,	NO371,		{RT, TBR}},
01917d
+{"mftbu",	XSPR(31,371,269), XSPR_MASK, PPC,	NO371|POWER4,	{RT}},
01917d
+{"mftb",	X(31,371),	X_MASK,      PPC,	NO371|POWER4,	{RT, TBR}},
01917d
+{"mftbl",	XSPR(31,371,268), XSPR_MASK, PPC,	NO371|POWER4,	{RT}},
01917d
 
01917d
 {"lwaux",	X(31,373),	X_MASK,      PPC64|PPCVLE, PPCNONE,	{RT, RAL, RB}},
01917d