]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
rs6000: Add support for __builtin_cpu_is ("power10")
authorPeter Bergner <bergner@linux.ibm.com>
Fri, 26 Jun 2020 00:06:37 +0000 (19:06 -0500)
committerPeter Bergner <bergner@linux.ibm.com>
Thu, 2 Jul 2020 17:29:08 +0000 (12:29 -0500)
Add support for __builtin_cpu_is ("power10").  Also add documentation for
the recently added "arch_3_1" and "mma" __builtin_cpu_supports arguments.

2020-06-25  Peter Bergner  <bergner@linux.ibm.com>

gcc/
* config/rs6000/rs6000-call.c (cpu_is_info) <power10>: New.
* doc/extend.texi (PowerPC Built-in Functions): Document power10,
arch_3_1 and mma.

gcc/testsuite/
* gcc.target/powerpc/cpu-builtin-1.c: Add tests for power10, arch_3_1
and mma.

(cherry picked from commit 67161d24f45601e43abea98f2c3d7d7a462b6eab)

gcc/config/rs6000/rs6000-call.c
gcc/doc/extend.texi
gcc/testsuite/gcc.target/powerpc/cpu-builtin-1.c

index 8266335b67af067d6d427626c50afd2ad3fdb7f1..2b8dd93bde57ffde29b9186309338426accbb6f9 100644 (file)
@@ -105,6 +105,7 @@ static const struct
   const char *cpu;
   unsigned int cpuid;
 } cpu_is_info[] = {
+  { "power10",    PPC_PLATFORM_POWER10 },
   { "power9",     PPC_PLATFORM_POWER9 },
   { "power8",     PPC_PLATFORM_POWER8 },
   { "power7",     PPC_PLATFORM_POWER7 },
index cd0e330ba85ecc186446aafe1f946302c7a3a579..3a96710bbf9bd4d54e5dc8148d2f90794150eff1 100644 (file)
@@ -17018,6 +17018,8 @@ issues a warning.
 The following CPU names can be detected:
 
 @table @samp
+@item power10
+IBM POWER10 Server CPU.
 @item power9
 IBM POWER9 Server CPU.
 @item power8
@@ -17094,6 +17096,8 @@ CPU supports ISA 2.06 (eg, POWER7)
 CPU supports ISA 2.07 (eg, POWER8)
 @item arch_3_00
 CPU supports ISA 3.0 (eg, POWER9)
+@item arch_3_1
+CPU supports ISA 3.1 (eg, POWER10)
 @item archpmu
 CPU supports the set of compatible performance monitoring events.
 @item booke
@@ -17127,6 +17131,8 @@ CPU supports icache snooping capabilities.
 CPU supports 128-bit IEEE binary floating point instructions.
 @item isel
 CPU supports the integer select instruction.
+@item mma
+CPU supports the matrix-multiply assist instructions.
 @item mmu
 CPU has a memory management unit.
 @item notb
index 960e7fb4f5f035ceabc58dc48ce5dee5873e4fcd..2bcf6f679daa51d8deaa93d7c1ac8123f7932486 100644 (file)
@@ -24,6 +24,7 @@ use_cpu_is_builtins (unsigned int *p)
   p[12] = __builtin_cpu_is ("ppc440");
   p[13] = __builtin_cpu_is ("ppc405");
   p[14] = __builtin_cpu_is ("ppc-cell-be");
+  p[15] = __builtin_cpu_is ("power10");
 #else
   p[0] = 0;
 #endif
@@ -74,6 +75,8 @@ use_cpu_supports_builtins (unsigned int *p)
   p[38] = __builtin_cpu_supports ("darn");
   p[39] = __builtin_cpu_supports ("scv");
   p[40] = __builtin_cpu_supports ("htm-no-suspend");
+  p[41] = __builtin_cpu_supports ("arch_3_1");
+  p[42] = __builtin_cpu_supports ("mma");
 #else
   p[0] = 0;
 #endif