From ab664763f0a91e0fba3f33a615b13fb3322b5d1f Mon Sep 17 00:00:00 2001 From: Peter Bergner Date: Fri, 11 Jan 2013 02:25:35 +0000 Subject: [PATCH] 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. --- include/opcode/ChangeLog | 5 +++++ include/opcode/ppc.h | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index c31560395..f8b25c60d 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,3 +1,8 @@ +2013-01-10 Peter Bergner + + * ppc.h (PPC_OPCODE_POWER8): New define. + (PPC_OPCODE_HTM): Likewise. + 2013-01-10 Will Newton * metag.h: New file. diff --git a/include/opcode/ppc.h b/include/opcode/ppc.h index e57b118b0..df9713023 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)