public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/users/meissner/heads/work133-vpair)] Add more vector pair builtin tests.
@ 2023-08-31 17:21 Michael Meissner
0 siblings, 0 replies; only message in thread
From: Michael Meissner @ 2023-08-31 17:21 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:a5dedc87cd9f06e330dba66a695cc226c5b1fb84
commit a5dedc87cd9f06e330dba66a695cc226c5b1fb84
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Thu Aug 31 13:20:08 2023 -0400
Add more vector pair builtin tests.
2023-08-31 Michael Meissner <meissner@linux.ibm.com>
gcc/testsuite/
* gcc.target/powerpc/vector-pair-01.c: Add more tests.
* gcc.target/powerpc/vector-pair-02.c: Likewise.
Diff:
---
gcc/testsuite/gcc.target/powerpc/vector-pair-01.c | 58 +++++++++++++++++------
gcc/testsuite/gcc.target/powerpc/vector-pair-02.c | 35 ++++++++++++--
2 files changed, 75 insertions(+), 18 deletions(-)
diff --git a/gcc/testsuite/gcc.target/powerpc/vector-pair-01.c b/gcc/testsuite/gcc.target/powerpc/vector-pair-01.c
index bc0ebbb06e7b..46c9ce1a8518 100644
--- a/gcc/testsuite/gcc.target/powerpc/vector-pair-01.c
+++ b/gcc/testsuite/gcc.target/powerpc/vector-pair-01.c
@@ -32,6 +32,24 @@ test_multiply (__vector_pair *dest,
*dest = __builtin_vpair_f64_mul (*x, *y);
}
+void
+test_min (__vector_pair *dest,
+ __vector_pair *x,
+ __vector_pair *y)
+{
+ /* 2 lxvp, 2 xvmindp, 1 stxvp. */
+ *dest = __builtin_vpair_f64_smin (*x, *y);
+}
+
+void
+test_max (__vector_pair *dest,
+ __vector_pair *x,
+ __vector_pair *y)
+{
+ /* 2 lxvp, 2 xvmaxdp, 1 stxvp. */
+ *dest = __builtin_vpair_f64_smax (*x, *y);
+}
+
void
test_negate (__vector_pair *dest,
__vector_pair *x)
@@ -129,18 +147,28 @@ test_get_vector_1 (__vector_pair *x)
return __builtin_vpair_f64_get_vector (*x, 1);
}
-/* { dg-final { scan-assembler-times {\mlxv\M} 2 } } */
-/* { dg-final { scan-assembler-times {\mlxvp\M} 21 } } */
-/* { dg-final { scan-assembler-times {\mstxvp\M} 12 } } */
-/* { dg-final { scan-assembler-times {\mxvabsdp\M} 2 } } */
-/* { dg-final { scan-assembler-times {\mxvadddp\M} 2 } } */
-/* { dg-final { scan-assembler-times {\mxvmadd.dp\M} 2 } } */
-/* { dg-final { scan-assembler-times {\mxvmsub.dp\M} 2 } } */
-/* { dg-final { scan-assembler-times {\mxvmuldp\M} 2 } } */
-/* { dg-final { scan-assembler-times {\mxvnabsdp\M} 2 } } */
-/* { dg-final { scan-assembler-times {\mxvnegdp\M} 2 } } */
-/* { dg-final { scan-assembler-times {\mxvnmadd.dp\M} 2 } } */
-/* { dg-final { scan-assembler-times {\mxvnmsub.dp\M} 2 } } */
-/* { dg-final { scan-assembler-times {\mxvsubdp\M} 2 } } */
-/* { dg-final { scan-assembler-times {\mxxpermdi\M} 1 } } */
-/* { dg-final { scan-assembler-times {\mxxspltb\M} 2 } } */
+double
+test_add_elements (__vector_pair *x)
+{
+ /* 1 lxvp, 1 xvadddp, 1 xxpermdi, 1 fadd/xsadddp. */
+ return __builtin_vpair_f64_add_elements (*x);
+}
+
+/* { dg-final { scan-assembler-times {\mfadd\|xsadddp\M} 1 } } */
+/* { dg-final { scan-assembler-times {\mlxv\M} 2 } } */
+/* { dg-final { scan-assembler-times {\mlxvp\M} 26 } } */
+/* { dg-final { scan-assembler-times {\mstxvp\M} 14 } } */
+/* { dg-final { scan-assembler-times {\mxvabsdp\M} 2 } } */
+/* { dg-final { scan-assembler-times {\mxvadddp\M} 3 } } */
+/* { dg-final { scan-assembler-times {\mxvmadd.dp\M} 2 } } */
+/* { dg-final { scan-assembler-times {\mxvmindp\M} 2 } } */
+/* { dg-final { scan-assembler-times {\mxvmaxdp\M} 2 } } */
+/* { dg-final { scan-assembler-times {\mxvmsub.dp\M} 2 } } */
+/* { dg-final { scan-assembler-times {\mxvmuldp\M} 2 } } */
+/* { dg-final { scan-assembler-times {\mxvnabsdp\M} 2 } } */
+/* { dg-final { scan-assembler-times {\mxvnegdp\M} 2 } } */
+/* { dg-final { scan-assembler-times {\mxvnmadd.dp\M} 2 } } */
+/* { dg-final { scan-assembler-times {\mxvnmsub.dp\M} 2 } } */
+/* { dg-final { scan-assembler-times {\mxvsubdp\M} 2 } } */
+/* { dg-final { scan-assembler-times {\mxxpermdi\M} 2 } } */
+/* { dg-final { scan-assembler-times {\mxxspltb\M} 2 } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/vector-pair-02.c b/gcc/testsuite/gcc.target/powerpc/vector-pair-02.c
index 140c1590f542..84b6f13e5011 100644
--- a/gcc/testsuite/gcc.target/powerpc/vector-pair-02.c
+++ b/gcc/testsuite/gcc.target/powerpc/vector-pair-02.c
@@ -32,6 +32,24 @@ test_multiply (__vector_pair *dest,
*dest = __builtin_vpair_f32_mul (*x, *y);
}
+void
+test_max (__vector_pair *dest,
+ __vector_pair *x,
+ __vector_pair *y)
+{
+ /* 2 lxvp, 2 xvmaxsp, 1 stxvp. */
+ *dest = __builtin_vpair_f32_smax (*x, *y);
+}
+
+void
+test_min (__vector_pair *dest,
+ __vector_pair *x,
+ __vector_pair *y)
+{
+ /* 2 lxvp, 2 xvminsp, 1 stxvp. */
+ *dest = __builtin_vpair_f32_smin (*x, *y);
+}
+
void
test_negate (__vector_pair *dest,
__vector_pair *x)
@@ -129,13 +147,24 @@ test_get_vector_1 (__vector_pair *x)
return __builtin_vpair_f32_get_vector (*x, 1);
}
+float
+test_add_elements (__vector_pair *x)
+{
+ /* 1 lxp, 3 xvaddsp, 2 vsldoi, 1 xscvspdp. */
+ return __builtin_vpair_f32_add_elements (*x);
+}
+
/* { dg-final { scan-assembler-times {\mlxv\M} 2 } } */
-/* { dg-final { scan-assembler-times {\mlxvp\M} 21 } } */
-/* { dg-final { scan-assembler-times {\mstxvp\M} 12 } } */
+/* { dg-final { scan-assembler-times {\mlxvp\M} 26 } } */
+/* { dg-final { scan-assembler-times {\mstxvp\M} 14 } } */
+/* { dg-final { scan-assembler-times {\mvsldoi\M} 2 } } */
/* { dg-final { scan-assembler-times {\mxscvdpspn\M} 1 } } */
+/* { dg-final { scan-assembler-times {\mxscvspdp\M} 1 } } */
/* { dg-final { scan-assembler-times {\mxvabssp\M} 2 } } */
-/* { dg-final { scan-assembler-times {\mxvaddsp\M} 2 } } */
+/* { dg-final { scan-assembler-times {\mxvaddsp\M} 5 } } */
/* { dg-final { scan-assembler-times {\mxvmadd.sp\M} 2 } } */
+/* { dg-final { scan-assembler-times {\mxvmaxsp\M} 2 } } */
+/* { dg-final { scan-assembler-times {\mxvminsp\M} 2 } } */
/* { dg-final { scan-assembler-times {\mxvmsub.sp\M} 2 } } */
/* { dg-final { scan-assembler-times {\mxvmulsp\M} 2 } } */
/* { dg-final { scan-assembler-times {\mxvnabssp\M} 2 } } */
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-08-31 17:21 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-31 17:21 [gcc(refs/users/meissner/heads/work133-vpair)] Add more vector pair builtin tests Michael Meissner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).