]> gcc.gnu.org Git - gcc.git/commitdiff
Add -mcpu=power11 tests.
authorMichael Meissner <meissner@linux.ibm.com>
Mon, 18 Mar 2024 23:56:17 +0000 (19:56 -0400)
committerMichael Meissner <meissner@linux.ibm.com>
Mon, 18 Mar 2024 23:56:17 +0000 (19:56 -0400)
This patch adds some simple tests for -mcpu=power11 support.  In order to run
these tests, you need an assembler that supports the appropriate option for
supporting the Power11 processor (-mpower11 under Linux or -mpwr11 under AIX).

2024-03-18  Michael Meissner  <meissner@linux.ibm.com>

gcc/testsuite/

* gcc.target/powerpc/power11-1.c: New test.
* gcc.target/powerpc/power11-2.c: Likewise.
* gcc.target/powerpc/power11-3.c: Likewise.
* lib/target-supports.exp (check_effective_target_power11_ok): Add new
effective target.

gcc/testsuite/gcc.target/powerpc/power11-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/power11-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/power11-3.c [new file with mode: 0644]
gcc/testsuite/lib/target-supports.exp

diff --git a/gcc/testsuite/gcc.target/powerpc/power11-1.c b/gcc/testsuite/gcc.target/powerpc/power11-1.c
new file mode 100644 (file)
index 0000000..6a2e802
--- /dev/null
@@ -0,0 +1,13 @@
+/* { dg-do compile { target powerpc*-*-* } } */
+/* { dg-require-effective-target power11_ok } */
+/* { dg-options "-mdejagnu-cpu=power11 -O2" } */
+
+/* Basic check to see if the compiler supports -mcpu=power11.  */
+
+#ifndef _ARCH_PWR11
+#error "-mcpu=power11 is not supported"
+#endif
+
+void foo (void)
+{
+}
diff --git a/gcc/testsuite/gcc.target/powerpc/power11-2.c b/gcc/testsuite/gcc.target/powerpc/power11-2.c
new file mode 100644 (file)
index 0000000..7b9904c
--- /dev/null
@@ -0,0 +1,20 @@
+/* { dg-do compile { target powerpc*-*-* } } */
+/* { dg-require-effective-target power11_ok } */
+/* { dg-options "-O2" } */
+
+/* Check if we can set the power11 target via a target attribute.  */
+
+__attribute__((__target__("cpu=power9")))
+void foo_p9 (void)
+{
+}
+
+__attribute__((__target__("cpu=power10")))
+void foo_p10 (void)
+{
+}
+
+__attribute__((__target__("cpu=power11")))
+void foo_p11 (void)
+{
+}
diff --git a/gcc/testsuite/gcc.target/powerpc/power11-3.c b/gcc/testsuite/gcc.target/powerpc/power11-3.c
new file mode 100644 (file)
index 0000000..9b2d643
--- /dev/null
@@ -0,0 +1,10 @@
+/* { dg-do compile { target powerpc*-*-* } }  */
+/* { dg-require-effective-target power11_ok } */
+/* { dg-options "-mdejagnu-cpu=power8 -O2" }  */
+
+/* Check if we can set the power11 target via a target_clones attribute.  */
+
+__attribute__((__target_clones__("cpu=power11,cpu=power9,default")))
+void foo (void)
+{
+}
index 467b539b20dbd17abbd98045cea3c0ad65c2720c..be80494be80fdd05fa6cf7ed566478dd1a83a452 100644 (file)
@@ -7104,6 +7104,23 @@ proc check_effective_target_power10_ok { } {
     }
 }
 
+# Return 1 if this is a PowerPC target supporting -mcpu=power11.
+
+proc check_effective_target_power11_ok { } {
+    if { ([istarget powerpc*-*-*]) } {
+       return [check_no_compiler_messages power11_ok object {
+           int main (void) {
+               #ifndef _ARCH_PWR11
+               #error "-mcpu=power11 is not supported"
+               #endif
+               return 0;
+           }
+       } "-mcpu=power11"]
+    } else {
+       return 0
+    }
+}
+
 # Return 1 if this is a PowerPC target supporting -mfloat128 via either
 # software emulation on power7/power8 systems or hardware support on power9.
 
This page took 0.08426 seconds and 5 git commands to generate.