]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
amdgcn: Add preprocessor builtins for every processor type
authorPaul-Antoine Arras <pa@codesourcery.com>
Thu, 1 Dec 2022 14:09:54 +0000 (15:09 +0100)
committerPaul-Antoine Arras <pa@codesourcery.com>
Tue, 6 Dec 2022 13:55:38 +0000 (14:55 +0100)
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)

gcc/ChangeLog.omp
gcc/config/gcn/gcn-opts.h
gcc/config/gcn/gcn.h

index b6204f7c76005601f0093f8a939128681ec524d6..bde15e5700a16ca28f5d46d385a7113d38e25b06 100644 (file)
@@ -1,3 +1,16 @@
+2022-12-06  Paul-Antoine Arras <pa@codesourcery.com>
+
+       Backported from master:
+       2022-12-01  Paul-Antoine Arras <pa@codesourcery.com>
+
+       * 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 <pa@codesourcery.com>
 
        Backported from master:
index 07ddc79cda367d8ee0f74fc769df5f9e78a0baf8..fb7e5d9a5e9982e6a9a2dbeca7df58b446376aa8 100644 (file)
@@ -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,
index 38f7212db59a209ca0762f62e26b924562878261..1cc5981d904ef2c89a6dac228ab2afde5bf6cf92 100644 (file)
 
 #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: