mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-25 11:04:18 +08:00
Remove ppc860, ppc750cl, ppc7450 insns from common ppc.
Back in the day support for these processors was added, we probably didn't want to waste PPC_OPCODE bits on minor variations. I've had a complaint that disassembly of mfspr/mtspr was wrong for power8. This patch fixes that problem. Note that since -m860/-m850/-m821 are new gas options enabling the mpc8xx specific mfspr/mtspr variants it is possible that this change will break some mpc8xx assembly code. ie. you might need to modify makefiles to pass -m860 to gas. include/opcode/ * ppc.h (PPC_OPCODE_750, PPC_OPCODE_7450, PPC_OPCODE_860): Define. opcodes/ * ppc-opc.c (PPC750, PPC7450, PPC860): Define using PPC_OPCODE_*. * ppc-dis.c (ppc_opts): Add 821, 850 and 860 entries. Add PPC_OPCODE_7450 to 7450 entry. Add PPC_OPCODE_750 to 750cl entry. gas/ * config/tc-ppc.c (md_show_usage): Add -m821, -m850, -m860. * doc/c-ppc.texi (PowerPC-Opts): Likewise. gas/testsuite/ * gas/ppc/titan.d: Correct mfmcsrr0 disassembly.
This commit is contained in:
parent
1b485e6778
commit
ef5a96d564
@ -1,3 +1,8 @@
|
||||
2015-07-03 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* config/tc-ppc.c (md_show_usage): Add -m821, -m850, -m860.
|
||||
* doc/c-ppc.texi (PowerPC-Opts): Likewise.
|
||||
|
||||
2015-07-01 Sandra Loosemore <sandra@codesourcery.com>
|
||||
Cesar Philippidis <cesar@codesourcery.com>
|
||||
|
||||
|
@ -1281,7 +1281,8 @@ PowerPC options:\n\
|
||||
-m476 generate code for PowerPC 476\n\
|
||||
-m7400, -m7410, -m7450, -m7455\n\
|
||||
generate code for PowerPC 7400/7410/7450/7455\n\
|
||||
-m750cl generate code for PowerPC 750cl\n"));
|
||||
-m750cl generate code for PowerPC 750cl\n\
|
||||
-m821, -m850, -m860 generate code for PowerPC 821/850/860\n"));
|
||||
fprintf (stream, _("\
|
||||
-mppc64, -m620 generate code for PowerPC 620/625/630\n\
|
||||
-mppc64bridge generate code for PowerPC 64, including bridge insns\n\
|
||||
|
@ -75,6 +75,9 @@ Generate code for PowerPC 7400/7410/7450/7455.
|
||||
@item -m750cl
|
||||
Generate code for PowerPC 750CL.
|
||||
|
||||
@item -m821, -m850, -m860
|
||||
Generate code for PowerPC 821/850/860.
|
||||
|
||||
@item -mppc64, -m620
|
||||
Generate code for PowerPC 620/625/630.
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
2015-07-03 Alan Modra <alan@squeak.grove.modra.org>
|
||||
|
||||
* gas/ppc/titan.d: Correct mfmcsrr0 disassembly.
|
||||
|
||||
2015-07-01 Sandra Loosemore <sandra@codesourcery.com>
|
||||
Cesar Philippidis <cesar@codesourcery.com>
|
||||
|
||||
|
@ -229,8 +229,8 @@ Disassembly of section \.text:
|
||||
36c: (7c 9f 62 a6|a6 62 9f 7c) mfivor15 r4
|
||||
370: (7c 93 82 a6|a6 82 93 7c) mfivor35 r4
|
||||
374: (7c 93 82 a6|a6 82 93 7c) mfivor35 r4
|
||||
378: (7c 9a 8a a6|a6 8a 9a 7c) mfdc_dat r4
|
||||
37c: (7c 9a 8a a6|a6 8a 9a 7c) mfdc_dat r4
|
||||
378: (7c 9a 8a a6|a6 8a 9a 7c) mfmcsrr0 r4
|
||||
37c: (7c 9a 8a a6|a6 8a 9a 7c) mfmcsrr0 r4
|
||||
380: (7c 9b 8a a6|a6 8a 9b 7c) mfmcsrr1 r4
|
||||
384: (7c 9b 8a a6|a6 8a 9b 7c) mfmcsrr1 r4
|
||||
388: (7c 9c 8a a6|a6 8a 9c 7c) mfmcsr r4
|
||||
|
@ -1,3 +1,7 @@
|
||||
2015-07-03 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* ppc.h (PPC_OPCODE_750, PPC_OPCODE_7450, PPC_OPCODE_860): Define.
|
||||
|
||||
2015-07-01 Sandra Loosemore <sandra@codesourcery.com>
|
||||
Cesar Philippidis <cesar@codesourcery.com>
|
||||
|
||||
|
@ -195,6 +195,15 @@ extern const int vle_num_opcodes;
|
||||
that isn't a superset of POWER8, we can define this to its own mask. */
|
||||
#define PPC_OPCODE_HTM PPC_OPCODE_POWER8
|
||||
|
||||
/* Opcode is supported by ppc750cl. */
|
||||
#define PPC_OPCODE_750 0x4000000000ull
|
||||
|
||||
/* Opcode is supported by ppc7450. */
|
||||
#define PPC_OPCODE_7450 0x8000000000ull
|
||||
|
||||
/* Opcode is supported by ppc821/850/860. */
|
||||
#define PPC_OPCODE_860 0x10000000000ull
|
||||
|
||||
/* A macro to extract the major opcode from an instruction. */
|
||||
#define PPC_OP(i) (((i) >> 26) & 0x3f)
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
2015-07-03 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* ppc-opc.c (PPC750, PPC7450, PPC860): Define using PPC_OPCODE_*.
|
||||
* ppc-dis.c (ppc_opts): Add 821, 850 and 860 entries. Add
|
||||
PPC_OPCODE_7450 to 7450 entry. Add PPC_OPCODE_750 to 750cl entry.
|
||||
|
||||
2015-07-01 Sandra Loosemore <sandra@codesourcery.com>
|
||||
Cesar Philippidis <cesar@codesourcery.com>
|
||||
|
||||
|
@ -76,12 +76,18 @@ struct ppc_mopt ppc_opts[] = {
|
||||
0 },
|
||||
{ "7410", (PPC_OPCODE_PPC | PPC_OPCODE_ALTIVEC),
|
||||
0 },
|
||||
{ "7450", (PPC_OPCODE_PPC | PPC_OPCODE_ALTIVEC),
|
||||
{ "7450", (PPC_OPCODE_PPC | PPC_OPCODE_7450 | PPC_OPCODE_ALTIVEC),
|
||||
0 },
|
||||
{ "7455", (PPC_OPCODE_PPC | PPC_OPCODE_ALTIVEC),
|
||||
0 },
|
||||
{ "750cl", (PPC_OPCODE_PPC | PPC_OPCODE_PPCPS)
|
||||
{ "750cl", (PPC_OPCODE_PPC | PPC_OPCODE_750 | PPC_OPCODE_PPCPS)
|
||||
, 0 },
|
||||
{ "821", (PPC_OPCODE_PPC | PPC_OPCODE_860),
|
||||
0 },
|
||||
{ "850", (PPC_OPCODE_PPC | PPC_OPCODE_860),
|
||||
0 },
|
||||
{ "860", (PPC_OPCODE_PPC | PPC_OPCODE_860),
|
||||
0 },
|
||||
{ "a2", (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_POWER4
|
||||
| PPC_OPCODE_POWER5 | PPC_OPCODE_CACHELCK | PPC_OPCODE_64
|
||||
| PPC_OPCODE_A2),
|
||||
|
@ -2747,9 +2747,9 @@ extract_vleil (unsigned long insn,
|
||||
#define PPC440 PPC_OPCODE_440
|
||||
#define PPC464 PPC440
|
||||
#define PPC476 PPC_OPCODE_476
|
||||
#define PPC750 PPC
|
||||
#define PPC7450 PPC
|
||||
#define PPC860 PPC
|
||||
#define PPC750 PPC_OPCODE_750
|
||||
#define PPC7450 PPC_OPCODE_7450
|
||||
#define PPC860 PPC_OPCODE_860
|
||||
#define PPCPS PPC_OPCODE_PPCPS
|
||||
#define PPCVEC PPC_OPCODE_ALTIVEC
|
||||
#define PPCVEC2 PPC_OPCODE_ALTIVEC2
|
||||
|
Loading…
Reference in New Issue
Block a user