|
|
a094f6 |
commit ef5a96d564a22a25d31533c7377eede42c12b25c
|
|
|
a094f6 |
Author: Alan Modra <amodra@gmail.com>
|
|
|
a094f6 |
Date: Fri Jul 3 10:56:26 2015 +0930
|
|
|
a094f6 |
|
|
|
a094f6 |
Remove ppc860, ppc750cl, ppc7450 insns from common ppc.
|
|
|
a094f6 |
|
|
|
a094f6 |
Back in the day support for these processors was added, we probably
|
|
|
a094f6 |
didn't want to waste PPC_OPCODE bits on minor variations. I've had a
|
|
|
a094f6 |
complaint that disassembly of mfspr/mtspr was wrong for power8. This
|
|
|
a094f6 |
patch fixes that problem.
|
|
|
a094f6 |
|
|
|
a094f6 |
Note that since -m860/-m850/-m821 are new gas options enabling the
|
|
|
a094f6 |
mpc8xx specific mfspr/mtspr variants it is possible that this change
|
|
|
a094f6 |
will break some mpc8xx assembly code. ie. you might need to modify
|
|
|
a094f6 |
makefiles to pass -m860 to gas.
|
|
|
a094f6 |
|
|
|
a094f6 |
include/opcode/
|
|
|
a094f6 |
* ppc.h (PPC_OPCODE_750, PPC_OPCODE_7450, PPC_OPCODE_860): Define.
|
|
|
a094f6 |
opcodes/
|
|
|
a094f6 |
* ppc-opc.c (PPC750, PPC7450, PPC860): Define using PPC_OPCODE_*.
|
|
|
a094f6 |
* ppc-dis.c (ppc_opts): Add 821, 850 and 860 entries. Add
|
|
|
a094f6 |
PPC_OPCODE_7450 to 7450 entry. Add PPC_OPCODE_750 to 750cl entry.
|
|
|
a094f6 |
gas/
|
|
|
a094f6 |
* config/tc-ppc.c (md_show_usage): Add -m821, -m850, -m860.
|
|
|
a094f6 |
* doc/c-ppc.texi (PowerPC-Opts): Likewise.
|
|
|
a094f6 |
gas/testsuite/
|
|
|
a094f6 |
* gas/ppc/titan.d: Correct mfmcsrr0 disassembly.
|
|
|
a094f6 |
|
|
|
a094f6 |
### a/include/opcode/ChangeLog
|
|
|
a094f6 |
### b/include/opcode/ChangeLog
|
|
|
a094f6 |
## -1,3 +1,7 @@
|
|
|
a094f6 |
+2015-07-03 Alan Modra <amodra@gmail.com>
|
|
|
a094f6 |
+
|
|
|
a094f6 |
+ * ppc.h (PPC_OPCODE_750, PPC_OPCODE_7450, PPC_OPCODE_860): Define.
|
|
|
a094f6 |
+
|
|
|
a094f6 |
2015-07-01 Sandra Loosemore <sandra@codesourcery.com>
|
|
|
a094f6 |
Cesar Philippidis <cesar@codesourcery.com>
|
|
|
a094f6 |
|
|
|
a094f6 |
--- a/include/opcode/ppc.h
|
|
|
a094f6 |
+++ b/include/opcode/ppc.h
|
|
|
a094f6 |
@@ -195,6 +195,15 @@ extern const int vle_num_opcodes;
|
|
|
a094f6 |
that isn't a superset of POWER8, we can define this to its own mask. */
|
|
|
a094f6 |
#define PPC_OPCODE_HTM PPC_OPCODE_POWER8
|
|
|
a094f6 |
|
|
|
a094f6 |
+/* Opcode is supported by ppc750cl. */
|
|
|
a094f6 |
+#define PPC_OPCODE_750 0x4000000000ull
|
|
|
a094f6 |
+
|
|
|
a094f6 |
+/* Opcode is supported by ppc7450. */
|
|
|
a094f6 |
+#define PPC_OPCODE_7450 0x8000000000ull
|
|
|
a094f6 |
+
|
|
|
a094f6 |
+/* Opcode is supported by ppc821/850/860. */
|
|
|
a094f6 |
+#define PPC_OPCODE_860 0x10000000000ull
|
|
|
a094f6 |
+
|
|
|
a094f6 |
/* A macro to extract the major opcode from an instruction. */
|
|
|
a094f6 |
#define PPC_OP(i) (((i) >> 26) & 0x3f)
|
|
|
a094f6 |
|
|
|
a094f6 |
### a/opcodes/ChangeLog
|
|
|
a094f6 |
### b/opcodes/ChangeLog
|
|
|
a094f6 |
## -1,3 +1,9 @@
|
|
|
a094f6 |
+2015-07-03 Alan Modra <amodra@gmail.com>
|
|
|
a094f6 |
+
|
|
|
a094f6 |
+ * ppc-opc.c (PPC750, PPC7450, PPC860): Define using PPC_OPCODE_*.
|
|
|
a094f6 |
+ * ppc-dis.c (ppc_opts): Add 821, 850 and 860 entries. Add
|
|
|
a094f6 |
+ PPC_OPCODE_7450 to 7450 entry. Add PPC_OPCODE_750 to 750cl entry.
|
|
|
a094f6 |
+
|
|
|
a094f6 |
2015-07-01 Sandra Loosemore <sandra@codesourcery.com>
|
|
|
a094f6 |
Cesar Philippidis <cesar@codesourcery.com>
|
|
|
a094f6 |
|
|
|
a094f6 |
--- a/opcodes/ppc-dis.c
|
|
|
a094f6 |
+++ b/opcodes/ppc-dis.c
|
|
|
a094f6 |
@@ -76,12 +76,18 @@ struct ppc_mopt ppc_opts[] = {
|
|
|
a094f6 |
0 },
|
|
|
a094f6 |
{ "7410", (PPC_OPCODE_PPC | PPC_OPCODE_ALTIVEC),
|
|
|
a094f6 |
0 },
|
|
|
a094f6 |
- { "7450", (PPC_OPCODE_PPC | PPC_OPCODE_ALTIVEC),
|
|
|
a094f6 |
+ { "7450", (PPC_OPCODE_PPC | PPC_OPCODE_7450 | PPC_OPCODE_ALTIVEC),
|
|
|
a094f6 |
0 },
|
|
|
a094f6 |
{ "7455", (PPC_OPCODE_PPC | PPC_OPCODE_ALTIVEC),
|
|
|
a094f6 |
0 },
|
|
|
a094f6 |
- { "750cl", (PPC_OPCODE_PPC | PPC_OPCODE_PPCPS)
|
|
|
a094f6 |
+ { "750cl", (PPC_OPCODE_PPC | PPC_OPCODE_750 | PPC_OPCODE_PPCPS)
|
|
|
a094f6 |
, 0 },
|
|
|
a094f6 |
+ { "821", (PPC_OPCODE_PPC | PPC_OPCODE_860),
|
|
|
a094f6 |
+ 0 },
|
|
|
a094f6 |
+ { "850", (PPC_OPCODE_PPC | PPC_OPCODE_860),
|
|
|
a094f6 |
+ 0 },
|
|
|
a094f6 |
+ { "860", (PPC_OPCODE_PPC | PPC_OPCODE_860),
|
|
|
a094f6 |
+ 0 },
|
|
|
a094f6 |
{ "a2", (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_POWER4
|
|
|
a094f6 |
| PPC_OPCODE_POWER5 | PPC_OPCODE_CACHELCK | PPC_OPCODE_64
|
|
|
a094f6 |
| PPC_OPCODE_A2),
|
|
|
a094f6 |
--- a/opcodes/ppc-opc.c
|
|
|
a094f6 |
+++ b/opcodes/ppc-opc.c
|
|
|
a094f6 |
@@ -2747,9 +2747,9 @@ extract_vleil (unsigned long insn,
|
|
|
a094f6 |
#define PPC440 PPC_OPCODE_440
|
|
|
a094f6 |
#define PPC464 PPC440
|
|
|
a094f6 |
#define PPC476 PPC_OPCODE_476
|
|
|
a094f6 |
-#define PPC750 PPC
|
|
|
a094f6 |
-#define PPC7450 PPC
|
|
|
a094f6 |
-#define PPC860 PPC
|
|
|
a094f6 |
+#define PPC750 PPC_OPCODE_750
|
|
|
a094f6 |
+#define PPC7450 PPC_OPCODE_7450
|
|
|
a094f6 |
+#define PPC860 PPC_OPCODE_860
|
|
|
a094f6 |
#define PPCPS PPC_OPCODE_PPCPS
|
|
|
a094f6 |
#define PPCVEC PPC_OPCODE_ALTIVEC
|
|
|
a094f6 |
#define PPCVEC2 PPC_OPCODE_ALTIVEC2
|