From: Alan Modra Date: Sat, 29 Nov 2014 08:43:17 +0000 (+1030) Subject: Power4 should treat mftb as extended mfspr mnemonic X-Git-Tag: binutils-2_25~42 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=13f2298f13f2b1e57d177898c49ee8f4f3216fab;p=thirdparty%2Fbinutils-gdb.git Power4 should treat mftb as extended mfspr mnemonic On further reading of ISA manual it appears gas should have been treating mftb and mftbu as extended mnemonics for mfspr, for ISA 2.03 and later. opcodes/ * ppc-opc.c (powerpc_opcodes): Make mftb* generate mfspr for power4 and later. gas/testsuite/ * gas/ppc/a2.d: Update for mftb change. * gas/ppc/476.d: Likewise. --- diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 51c1cb45f83..2612cc35fc6 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-11-30 Alan Modra + + * gas/ppc/a2.d: Update for mftb change. + * gas/ppc/476.d: Likewise. + 2014-11-18 Igor Zamyatin * gas/i386/x86-64-mpx-branch-1.d: Don't use *_BND relocations. diff --git a/gas/testsuite/gas/ppc/476.d b/gas/testsuite/gas/ppc/476.d index 23b5d6e69c9..e59e2e99313 100644 --- a/gas/testsuite/gas/ppc/476.d +++ b/gas/testsuite/gas/ppc/476.d @@ -308,7 +308,7 @@ Disassembly of section \.text: 4a8: (7e 60 00 a6|a6 00 60 7e) mfmsr r19 4ac: (7c 78 00 26|26 00 78 7c) mfocrf r3,128 4b0: (7c 60 22 a6|a6 22 60 7c) mfspr r3,128 - 4b4: (7c 6c 42 e6|e6 42 6c 7c) mftbl r3 + 4b4: (7c 6c 42 a6|a6 42 6c 7c) mftb r3 4b8: (7c 00 04 ac|ac 04 00 7c) msync 4bc: (7c 78 01 20|20 01 78 7c) mtocrf 128,r3 4c0: (7c 6f f1 20|20 f1 6f 7c) mtcr r3 diff --git a/gas/testsuite/gas/ppc/a2.d b/gas/testsuite/gas/ppc/a2.d index 8684ed7ad76..a7434020593 100644 --- a/gas/testsuite/gas/ppc/a2.d +++ b/gas/testsuite/gas/ppc/a2.d @@ -360,8 +360,8 @@ Disassembly of section \.text: 530: (7c 70 10 26|26 10 70 7c) mfocrf r3,1 534: (7c 78 00 26|26 00 78 7c) mfocrf r3,128 538: (7d 4a 3a a6|a6 3a 4a 7d) mfspr r10,234 - 53c: (7d 4c 42 e6|e6 42 4c 7d) mftbl r10 - 540: (7d 4d 42 e6|e6 42 4d 7d) mftbu r10 + 53c: (7d 4c 42 a6|a6 42 4c 7d) mftb r10 + 540: (7d 4d 42 a6|a6 42 4d 7d) mftbu r10 544: (7c 00 51 dc|dc 51 00 7c) msgclr r10 548: (7c 00 51 9c|9c 51 00 7c) msgsnd r10 54c: (7c 60 01 20|20 01 60 7c) mtcrf 0,r3 diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 9f0352977d8..85e2f03cf80 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,8 @@ +2014-11-30 Alan Modra + + * ppc-opc.c (powerpc_opcodes): Make mftb* generate mfspr for + power4 and later. + 2014-11-28 Alan Modra * ppc-opc.c (powerpc_opcodes ): Don't deprecate for power7. diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c index 4427465221d..95802b014b8 100644 --- a/opcodes/ppc-opc.c +++ b/opcodes/ppc-opc.c @@ -4880,9 +4880,9 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"mfsprg5", XSPR(31,339,261), XSPR_MASK, PPC405|BOOKE|PPCVLE, PPCNONE, {RT}}, {"mfsprg6", XSPR(31,339,262), XSPR_MASK, PPC405|BOOKE|PPCVLE, PPCNONE, {RT}}, {"mfsprg7", XSPR(31,339,263), XSPR_MASK, PPC405|BOOKE|PPCVLE, PPCNONE, {RT}}, -{"mftb", XSPR(31,339,268), XSPR_MASK, BOOKE|PPCVLE, PPCNONE, {RT}}, -{"mftbl", XSPR(31,339,268), XSPR_MASK, BOOKE|PPCVLE, PPCNONE, {RT}}, -{"mftbu", XSPR(31,339,269), XSPR_MASK, BOOKE|PPCVLE, PPCNONE, {RT}}, +{"mftbu", XSPR(31,339,269), XSPR_MASK, POWER4|BOOKE|PPCVLE, PPCNONE, {RT}}, +{"mftb", X(31,339), X_MASK, POWER4|BOOKE|PPCVLE, PPCNONE, {RT, TBR}}, +{"mftbl", XSPR(31,339,268), XSPR_MASK, POWER4|BOOKE|PPCVLE, PPCNONE, {RT}}, {"mfsprg0", XSPR(31,339,272), XSPR_MASK, PPC|PPCVLE, PPCNONE, {RT}}, {"mfsprg1", XSPR(31,339,273), XSPR_MASK, PPC|PPCVLE, PPCNONE, {RT}}, {"mfsprg2", XSPR(31,339,274), XSPR_MASK, PPC|PPCVLE, PPCNONE, {RT}}, @@ -5051,9 +5051,9 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"tlbia", X(31,370), 0xffffffff, PPC, TITAN, {0}}, -{"mftbl", XSPR(31,371,268), XSPR_MASK, PPC, NO371, {RT}}, -{"mftbu", XSPR(31,371,269), XSPR_MASK, PPC, NO371, {RT}}, -{"mftb", X(31,371), X_MASK, PPC|PPCA2, NO371, {RT, TBR}}, +{"mftbu", XSPR(31,371,269), XSPR_MASK, PPC, NO371|POWER4, {RT}}, +{"mftb", X(31,371), X_MASK, PPC, NO371|POWER4, {RT, TBR}}, +{"mftbl", XSPR(31,371,268), XSPR_MASK, PPC, NO371|POWER4, {RT}}, {"lwaux", X(31,373), X_MASK, PPC64|PPCVLE, PPCNONE, {RT, RAL, RB}},