[gcc(refs/users/meissner/heads/work154-test)] Add power11 tests.
Michael Meissner
meissner@gcc.gnu.org
Tue Jan 30 22:15:46 GMT 2024
https://gcc.gnu.org/g:b7f2ec6138fcbe1a454a45ec4c41abaf4b7b9142
commit b7f2ec6138fcbe1a454a45ec4c41abaf4b7b9142
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Tue Jan 30 17:15:21 2024 -0500
Add power11 tests.
2024-01-30 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
power11 support.
Diff:
---
gcc/testsuite/gcc.target/powerpc/power11-1.c | 15 +++++++++++++++
gcc/testsuite/gcc.target/powerpc/power11-2.c | 24 ++++++++++++++++++++++++
gcc/testsuite/gcc.target/powerpc/power11-3.c | 13 +++++++++++++
gcc/testsuite/lib/target-supports.exp | 17 +++++++++++++++++
4 files changed, 69 insertions(+)
diff --git a/gcc/testsuite/gcc.target/powerpc/power11-1.c b/gcc/testsuite/gcc.target/powerpc/power11-1.c
new file mode 100644
index 000000000000..839568270edd
--- /dev/null
+++ b/gcc/testsuite/gcc.target/powerpc/power11-1.c
@@ -0,0 +1,15 @@
+/* { dg-do compile { target powerpc*-*-* } } */
+/* { dg-require-effective-target power11 } */
+/* { 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)
+{
+}
+
+/* { dg-final { scan-assembler {\m[.]machine power11\M} } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/power11-2.c b/gcc/testsuite/gcc.target/powerpc/power11-2.c
new file mode 100644
index 000000000000..00cd4c2f9d08
--- /dev/null
+++ b/gcc/testsuite/gcc.target/powerpc/power11-2.c
@@ -0,0 +1,24 @@
+/* { dg-do compile { target powerpc*-*-* } } */
+/* { dg-require-effective-target power11 } */
+/* { 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)
+{
+}
+
+/* { dg-final { scan-assembler {\m[.]machine power9\M} } } */
+/* { dg-final { scan-assembler {\m[.]machine power10\M} } } */
+/* { dg-final { scan-assembler {\m[.]machine power11\M} } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/power11-3.c b/gcc/testsuite/gcc.target/powerpc/power11-3.c
new file mode 100644
index 000000000000..3b8eea74ad66
--- /dev/null
+++ b/gcc/testsuite/gcc.target/powerpc/power11-3.c
@@ -0,0 +1,13 @@
+/* { dg-do compile { target powerpc*-*-* } } */
+/* { dg-require-effective-target power11 } */
+/* { dg-options "-mdejagnu=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)
+{
+}
+
+/* { dg-final { scan-assembler {\m[.]machine power9\M} } } */
+/* { dg-final { scan-assembler {\m[.]machine power11\M} } } */
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 73360cd3a0d5..2f5656a8631b 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -7149,6 +7149,23 @@ proc check_effective_target_power10_ok { } {
}
}
+# Return 1 if this is a PowerPC target supporting -mcpu=power11.
+
+proc check_effective_target_power11_ok { } {
+ return [check_no_messages_and_pattern power11 "[.]machine power11" assembly {
+ void test (void)
+ {
+ #ifndef _ARCH_PWR11
+ #error does not have power11 support.
+ #else
+ /* "has power11 support" */
+ #endif
+ }} {-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.
More information about the Gcc-cvs
mailing list