summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPeter Bergner <bergner@vnet.ibm.com>2013-01-11 02:25:31 +0000
committerPeter Bergner <bergner@vnet.ibm.com>2013-01-11 02:25:31 +0000
commitcd9fde9e512b476e0a0e9baf6046a815758b3903 (patch)
treee6afc856f34c2f765ba1f4e35f6cd5d112d8b964 /include
parent5c7a4fa3ac65e8b038c77d9189d15e7fbf9be82d (diff)
downloadbinutils-redhat-cd9fde9e512b476e0a0e9baf6046a815758b3903.tar.gz
include/opcode/
* ppc.h (PPC_OPCODE_POWER8): New define. (PPC_OPCODE_HTM): Likewise. opcodes/ * ppc-dis.c (ppc_opts): Add "power8", "pwr8" and "htm" entries. * ppc-opc.c (HTM_R, HTM_SI, XRTRB_MASK, XRTRARB_MASK, XRTLRARB_MASK, XRTARARB_MASK, XRTBFRARB_MASK, XRCL, POWER8, PPCHTM): New defines. (SH6): Update. <"tabort.", "tabortdc.", "tabortdci.", "tabortwc.", "tabortwci.", "tbegin.", "tcheck", "tend.", "trechkpt.", "treclaim.", "tsr.">: Add POWER8 HTM opcodes. <"tendall.", "tresume.", "tsuspend.">: Add POWER8 HTM extended opcodes. gas/ * doc/as.texinfo (Target PowerPC): Document -mpower8 and -mhtm. * doc/c-ppc.texi (PowerPC-Opts): Likewise. * config/tc-ppc.c (md_show_usage): Likewise. (ppc_handle_align): Handle power8's group ending nop. gas/testsuite/ * gas/ppc/htm.d: New test. * gas/ppc/htm.s: Likewise. * gas/ppc/power8.d: Likewise. * gas/ppc/power8.s: Likewise. * gas/ppc/ppc.exp: Run them.
Diffstat (limited to 'include')
-rw-r--r--include/opcode/ChangeLog5
-rw-r--r--include/opcode/ppc.h8
2 files changed, 13 insertions, 0 deletions
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index c31560395f..f8b25c60d1 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,3 +1,8 @@
+2013-01-10 Peter Bergner <bergner@vnet.ibm.com>
+
+ * ppc.h (PPC_OPCODE_POWER8): New define.
+ (PPC_OPCODE_HTM): Likewise.
+
2013-01-10 Will Newton <will.newton@imgtec.com>
* metag.h: New file.
diff --git a/include/opcode/ppc.h b/include/opcode/ppc.h
index e57b118b02..df97130232 100644
--- a/include/opcode/ppc.h
+++ b/include/opcode/ppc.h
@@ -188,6 +188,14 @@ extern const int vle_num_opcodes;
/* Opcode which is supported by the VLE extension. */
#define PPC_OPCODE_VLE 0x1000000000ull
+/* Opcode is only supported by Power8 architecture. */
+#define PPC_OPCODE_POWER8 0x2000000000ull
+
+/* Opcode which is supported by the Hardware Transactional Memory extension. */
+/* Currently, this is the same as the POWER8 mask. If another cpu comes out
+ that isn't a superset of POWER8, we can define this to its own mask. */
+#define PPC_OPCODE_HTM PPC_OPCODE_POWER8
+
/* A macro to extract the major opcode from an instruction. */
#define PPC_OP(i) (((i) >> 26) & 0x3f)