From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7899) id 56E00384C90B; Tue, 6 Dec 2022 13:57:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 56E00384C90B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1670335063; bh=D/8O6Aigz18EOX+s/sGsn4kW3F+EViVHLJarKK4SnpI=; h=From:To:Subject:Date:From; b=JM1yvHmAK2pUoNBSpk2KlM796lBxcvSYtbqD3FjyhMdyiU4A9393eNmT55cnfG/vd rm/UHUiaOtqByLKI6x0j9uPBm7dIDu3aFB0t+WhVgXd0+lX61azkpkfN2os3ixOVmt N8zdZXVGouVW6LJhvTo70M0hV9gCUFiQyJq8xuvA= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Paul-Antoine Arras To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/omp/gcc-12] amdgcn: Add preprocessor builtins for every processor type X-Act-Checkin: gcc X-Git-Author: Paul-Antoine Arras X-Git-Refname: refs/heads/devel/omp/gcc-12 X-Git-Oldrev: ed4d5b848e8f888c9f217fa55d096eb8304ae7ff X-Git-Newrev: a8db05dcf5819c7ddd5c71da40bb08a533551ae9 Message-Id: <20221206135743.56E00384C90B@sourceware.org> Date: Tue, 6 Dec 2022 13:57:43 +0000 (GMT) List-Id: https://gcc.gnu.org/g:a8db05dcf5819c7ddd5c71da40bb08a533551ae9 commit a8db05dcf5819c7ddd5c71da40bb08a533551ae9 Author: Paul-Antoine Arras Date: Thu Dec 1 15:09:54 2022 +0100 amdgcn: Add preprocessor builtins for every processor type Provide a specific builtin for each possible value of '-march'. gcc/ChangeLog: * config/gcn/gcn-opts.h (TARGET_FIJI): -march=fiji. (TARGET_VEGA10): -march=gfx900. (TARGET_VEGA20): -march=gfx906. (TARGET_GFX908): -march=gfx908. (TARGET_GFX90a): -march=gfx90a. * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS): Define a builtin that uniquely maps to '-march'. (cherry picked from commit e41b243302e9964e642924329826448afb21d28e) Diff: --- gcc/ChangeLog.omp | 13 +++++++++++++ gcc/config/gcn/gcn-opts.h | 6 ++++++ gcc/config/gcn/gcn.h | 40 ++++++++++++++++++++++++++-------------- 3 files changed, 45 insertions(+), 14 deletions(-) diff --git a/gcc/ChangeLog.omp b/gcc/ChangeLog.omp index b6204f7c760..bde15e5700a 100644 --- a/gcc/ChangeLog.omp +++ b/gcc/ChangeLog.omp @@ -1,3 +1,16 @@ +2022-12-06 Paul-Antoine Arras + + Backported from master: + 2022-12-01 Paul-Antoine Arras + + * config/gcn/gcn-opts.h (TARGET_FIJI): -march=fiji. + (TARGET_VEGA10): -march=gfx900. + (TARGET_VEGA20): -march=gfx906. + (TARGET_GFX908): -march=gfx908. + (TARGET_GFX90a): -march=gfx90a. + * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS): Define a builtin that + uniquely maps to '-march'. + 2022-11-30 Paul-Antoine Arras Backported from master: diff --git a/gcc/config/gcn/gcn-opts.h b/gcc/config/gcn/gcn-opts.h index 07ddc79cda3..fb7e5d9a5e9 100644 --- a/gcc/config/gcn/gcn-opts.h +++ b/gcc/config/gcn/gcn-opts.h @@ -27,6 +27,12 @@ enum processor_type PROCESSOR_GFX90a }; +#define TARGET_FIJI (gcn_arch == PROCESSOR_FIJI) +#define TARGET_VEGA10 (gcn_arch == PROCESSOR_VEGA10) +#define TARGET_VEGA20 (gcn_arch == PROCESSOR_VEGA20) +#define TARGET_GFX908 (gcn_arch == PROCESSOR_GFX908) +#define TARGET_GFX90a (gcn_arch == PROCESSOR_GFX90a) + /* Set in gcn_option_override. */ extern enum gcn_isa { ISA_UNKNOWN, diff --git a/gcc/config/gcn/gcn.h b/gcc/config/gcn/gcn.h index 38f7212db59..1cc5981d904 100644 --- a/gcc/config/gcn/gcn.h +++ b/gcc/config/gcn/gcn.h @@ -16,20 +16,32 @@ #include "config/gcn/gcn-opts.h" -#define TARGET_CPU_CPP_BUILTINS() \ - do \ - { \ - builtin_define ("__AMDGCN__"); \ - if (TARGET_GCN3) \ - builtin_define ("__GCN3__"); \ - else if (TARGET_GCN5) \ - builtin_define ("__GCN5__"); \ - else if (TARGET_CDNA1) \ - builtin_define ("__CDNA1__"); \ - else if (TARGET_CDNA2) \ - builtin_define ("__CDNA2__"); \ - } \ - while(0) +#define TARGET_CPU_CPP_BUILTINS() \ + do \ + { \ + builtin_define ("__AMDGCN__"); \ + if (TARGET_GCN3) \ + builtin_define ("__GCN3__"); \ + else if (TARGET_GCN5) \ + builtin_define ("__GCN5__"); \ + else if (TARGET_CDNA1) \ + builtin_define ("__CDNA1__"); \ + else if (TARGET_CDNA2) \ + builtin_define ("__CDNA2__"); \ + if (TARGET_FIJI) \ + { \ + builtin_define ("__fiji__"); \ + builtin_define ("__gfx803__"); \ + } \ + else if (TARGET_VEGA10) \ + builtin_define ("__gfx900__"); \ + else if (TARGET_VEGA20) \ + builtin_define ("__gfx906__"); \ + else if (TARGET_GFX908) \ + builtin_define ("__gfx908__"); \ + else if (TARGET_GFX90a) \ + builtin_define ("__gfx90a__"); \ + } while (0) /* Support for a compile-time default architecture and tuning. The rules are: