public inbox for gcc-cvs@sourceware.org help / color / mirror / Atom feed
From: Martin Liska <marxin@gcc.gnu.org> To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/marxin/heads/slp-function-v2)] PowerPC: Add future hwcap2 bits Date: Thu, 11 Jun 2020 10:08:55 +0000 (GMT) [thread overview] Message-ID: <20200611100855.76E513939C3A@sourceware.org> (raw) https://gcc.gnu.org/g:7ba33e898fa4a097c0f2b4d9cae35041a5933f9c commit 7ba33e898fa4a097c0f2b4d9cae35041a5933f9c Author: Michael Meissner <meissner@linux.ibm.com> Date: Tue Jun 9 15:32:02 2020 -0500 PowerPC: Add future hwcap2 bits This patch adds support for the two new HWCAP2 fields used by the __builtin_cpu_supports function. It adds support in the target_clones attribute for -mcpu=future. The two new __builtin_cpu_supports tests are: __builtin_cpu_supports ("isa_3_1") __builtin_cpu_supports ("mma") The bits used are the bits that the Linux kernel engineers will be using for these new features. gcc/ 2020-06-05 Michael Meissner <meissner@linux.ibm.com> * config/rs6000/ppc-auxv.h (PPC_PLATFORM_FUTURE): Allocate 'future' PowerPC platform. (PPC_FEATURE2_ARCH_3_1): New HWCAP2 bit for ISA 3.1. (PPC_FEATURE2_MMA): New HWCAP2 bit for MMA. * config/rs6000/rs6000-call.c (cpu_supports_info): Add ISA 3.1 and MMA HWCAP2 bits. * config/rs6000/rs6000.c (CLONE_ISA_3_1): New clone support. (rs6000_clone_map): Add 'future' system target_clones support. Diff: --- gcc/config/rs6000/ppc-auxv.h | 6 ++++++ gcc/config/rs6000/rs6000-call.c | 4 +++- gcc/config/rs6000/rs6000.c | 2 ++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gcc/config/rs6000/ppc-auxv.h b/gcc/config/rs6000/ppc-auxv.h index 323293178e7..e51d0393e5f 100644 --- a/gcc/config/rs6000/ppc-auxv.h +++ b/gcc/config/rs6000/ppc-auxv.h @@ -48,6 +48,9 @@ #define PPC_PLATFORM_POWER8 13 #define PPC_PLATFORM_POWER9 14 +/* This is not yet official. */ +#define PPC_PLATFORM_FUTURE 15 + /* AT_HWCAP bits. These must match the values defined in the Linux kernel. */ #define PPC_FEATURE_32 0x80000000 #define PPC_FEATURE_64 0x40000000 @@ -93,6 +96,9 @@ #define PPC_FEATURE2_SCV 0x00100000 #define PPC_FEATURE2_HTM_NO_SUSPEND 0x00080000 +/* These are not yet official. */ +#define PPC_FEATURE2_ARCH_3_1 0x00040000 +#define PPC_FEATURE2_MMA 0x00020000 /* Thread Control Block (TCB) offsets of the AT_PLATFORM, AT_HWCAP and AT_HWCAP2 values. These must match the values defined in GLIBC. */ diff --git a/gcc/config/rs6000/rs6000-call.c b/gcc/config/rs6000/rs6000-call.c index 0ac8054d030..817a14c9c0d 100644 --- a/gcc/config/rs6000/rs6000-call.c +++ b/gcc/config/rs6000/rs6000-call.c @@ -172,7 +172,9 @@ static const struct { "arch_3_00", PPC_FEATURE2_ARCH_3_00, 1 }, { "ieee128", PPC_FEATURE2_HAS_IEEE128, 1 }, { "darn", PPC_FEATURE2_DARN, 1 }, - { "scv", PPC_FEATURE2_SCV, 1 } + { "scv", PPC_FEATURE2_SCV, 1 }, + { "arch_3_1", PPC_FEATURE2_ARCH_3_1, 1 }, + { "mma", PPC_FEATURE2_MMA, 1 }, }; static void altivec_init_builtins (void); diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index ff09e9378ef..0bbd06ad1de 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -260,6 +260,7 @@ enum { CLONE_ISA_2_06, /* ISA 2.06 (power7). */ CLONE_ISA_2_07, /* ISA 2.07 (power8). */ CLONE_ISA_3_00, /* ISA 3.00 (power9). */ + CLONE_ISA_3_1, /* ISA 3.1 (future). */ CLONE_MAX }; @@ -275,6 +276,7 @@ static const struct clone_map rs6000_clone_map[CLONE_MAX] = { { OPTION_MASK_POPCNTD, "arch_2_06" }, /* ISA 2.06 (power7). */ { OPTION_MASK_P8_VECTOR, "arch_2_07" }, /* ISA 2.07 (power8). */ { OPTION_MASK_P9_VECTOR, "arch_3_00" }, /* ISA 3.00 (power9). */ + { OPTION_MASK_FUTURE, "arch_3_1" }, /* ISA 3.1 (future). */ };
next reply other threads:[~2020-06-11 10:08 UTC|newest] Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-06-11 10:08 Martin Liska [this message] 2020-06-11 10:09 Martin Liska 2020-06-11 10:09 Martin Liska
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200611100855.76E513939C3A@sourceware.org \ --to=marxin@gcc.gnu.org \ --cc=gcc-cvs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).