[gcc(refs/users/meissner/heads/work141-ovpair)] Sync test files.
Michael Meissner
meissner@gcc.gnu.org
Fri Oct 27 17:52:16 GMT 2023
https://gcc.gnu.org/g:3b7917e01b36fb6c3d7f9a7bf72aa8e74c99ef64
commit 3b7917e01b36fb6c3d7f9a7bf72aa8e74c99ef64
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Fri Oct 27 13:51:49 2023 -0400
Sync test files.
2023-10-27 Michael Meissner <meissner@linux.ibm.com>
gcc/testsuite/
* /gcc.target/powerpc/vector-pair-1.c: Rename.
* /gcc.target/powerpc/vector-pair-2.c: Rename.
* /gcc.target/powerpc/vector-pair-3.c: Rename.
* /gcc.target/powerpc/vector-pair-4.c: Rename.
* /gcc.target/powerpc/vector-pair-5.c: Rename.
* /gcc.target/powerpc/vector-pair-6.c: Rename.
* /gcc.target/powerpc/vector-pair-7.c: Rename.
* /gcc.target/powerpc/vector-pair-8.c: Rename.
* /gcc.target/powerpc/vector-pair-9.c: New test.
Diff:
---
.../powerpc/{vector-pair-01.c => vector-pair-1.c} | 0
.../powerpc/{vector-pair-02.c => vector-pair-2.c} | 0
.../powerpc/{vector-pair-03.c => vector-pair-3.c} | 0
.../powerpc/{vector-pair-04.c => vector-pair-4.c} | 0
.../powerpc/{vector-pair-05.c => vector-pair-5.c} | 0
.../powerpc/{vector-pair-06.c => vector-pair-6.c} | 0
.../powerpc/{vector-pair-07.c => vector-pair-7.c} | 0
.../powerpc/{vector-pair-08.c => vector-pair-8.c} | 0
gcc/testsuite/gcc.target/powerpc/vector-pair-9.c | 45 ++++++++++++++++++++++
9 files changed, 45 insertions(+)
diff --git a/gcc/testsuite/gcc.target/powerpc/vector-pair-01.c b/gcc/testsuite/gcc.target/powerpc/vector-pair-1.c
similarity index 100%
rename from gcc/testsuite/gcc.target/powerpc/vector-pair-01.c
rename to gcc/testsuite/gcc.target/powerpc/vector-pair-1.c
diff --git a/gcc/testsuite/gcc.target/powerpc/vector-pair-02.c b/gcc/testsuite/gcc.target/powerpc/vector-pair-2.c
similarity index 100%
rename from gcc/testsuite/gcc.target/powerpc/vector-pair-02.c
rename to gcc/testsuite/gcc.target/powerpc/vector-pair-2.c
diff --git a/gcc/testsuite/gcc.target/powerpc/vector-pair-03.c b/gcc/testsuite/gcc.target/powerpc/vector-pair-3.c
similarity index 100%
rename from gcc/testsuite/gcc.target/powerpc/vector-pair-03.c
rename to gcc/testsuite/gcc.target/powerpc/vector-pair-3.c
diff --git a/gcc/testsuite/gcc.target/powerpc/vector-pair-04.c b/gcc/testsuite/gcc.target/powerpc/vector-pair-4.c
similarity index 100%
rename from gcc/testsuite/gcc.target/powerpc/vector-pair-04.c
rename to gcc/testsuite/gcc.target/powerpc/vector-pair-4.c
diff --git a/gcc/testsuite/gcc.target/powerpc/vector-pair-05.c b/gcc/testsuite/gcc.target/powerpc/vector-pair-5.c
similarity index 100%
rename from gcc/testsuite/gcc.target/powerpc/vector-pair-05.c
rename to gcc/testsuite/gcc.target/powerpc/vector-pair-5.c
diff --git a/gcc/testsuite/gcc.target/powerpc/vector-pair-06.c b/gcc/testsuite/gcc.target/powerpc/vector-pair-6.c
similarity index 100%
rename from gcc/testsuite/gcc.target/powerpc/vector-pair-06.c
rename to gcc/testsuite/gcc.target/powerpc/vector-pair-6.c
diff --git a/gcc/testsuite/gcc.target/powerpc/vector-pair-07.c b/gcc/testsuite/gcc.target/powerpc/vector-pair-7.c
similarity index 100%
rename from gcc/testsuite/gcc.target/powerpc/vector-pair-07.c
rename to gcc/testsuite/gcc.target/powerpc/vector-pair-7.c
diff --git a/gcc/testsuite/gcc.target/powerpc/vector-pair-08.c b/gcc/testsuite/gcc.target/powerpc/vector-pair-8.c
similarity index 100%
rename from gcc/testsuite/gcc.target/powerpc/vector-pair-08.c
rename to gcc/testsuite/gcc.target/powerpc/vector-pair-8.c
diff --git a/gcc/testsuite/gcc.target/powerpc/vector-pair-9.c b/gcc/testsuite/gcc.target/powerpc/vector-pair-9.c
new file mode 100644
index 000000000000..04410b9c51c7
--- /dev/null
+++ b/gcc/testsuite/gcc.target/powerpc/vector-pair-9.c
@@ -0,0 +1,45 @@
+/* { dg-do compile } */
+/* { dg-require-effective-target power10_ok } */
+/* { dg-options "-mdejagnu-cpu=power10 -O2" } */
+
+/* Test vector pair built-in functions to assemble and extract elements. */
+
+void assemble_two_loads (__vector_pair *p)
+{
+ vector double a = { 1.0, 2.0 };
+ vector double b = { 3.0, 4.0 };
+
+ /* 2 plxv, 1 stxvp. */
+ *p = __builtin_vpair_f64_assemble (a, b);
+}
+
+void foo2 (__vector_pair *p)
+{
+ vector double a = { 1.0, 1.0 };
+ vector double b = { 2.0, 2.0 };
+
+ /* 2 xxspltidp, 1 stxvp. */
+ *p = __builtin_vpair_f64_assemble (a, b);
+}
+
+void foo3 (__vector_pair *p, __vector_pair *q, __vector_pair *r)
+{
+ __vector_pair vq = *q;
+ __vector_pair vr = *r;
+ vector double vq_0 = __builtin_vpair_f64_extract_vector (vq, 0);
+ vector double vq_1 = __builtin_vpair_f64_extract_vector (vq, 1);
+ vector double vr_0 = __builtin_vpair_f64_extract_vector (vr, 0);
+ vector double vr_1 = __builtin_vpair_f64_extract_vector (vr, 1);
+ vector double vp_0 = vq_0 + vr_0;
+ vector double vp_1 = vq_1 - vr_1;
+
+ /* 2 lxvp, 1 xvadddp, 1 xvsubdp, 1 stxvp. */
+ *p = __builtin_vpair_f64_assemble (vp_0, vp_1);
+}
+
+/* { dg-final { scan-assembler-times {\mlxvp\M} 2 } } */
+/* { dg-final { scan-assembler-times {\mplxv\M} 2 } } */
+/* { dg-final { scan-assembler-times {\mstxvp\M} 3 } } */
+/* { dg-final { scan-assembler-times {\mxvadddp\M} 1 } } */
+/* { dg-final { scan-assembler-times {\mxvsubdp\M} 1 } } */
+/* { dg-final { scan-assembler-times {\mxxspltidp\M} 2 } } */
More information about the Gcc-cvs
mailing list