[gcc(refs/vendors/vrull/heads/slp-improvements)] Add testcase for #343
Philipp Tomsich
ptomsich@gcc.gnu.org
Wed Jan 17 19:14:41 GMT 2024
https://gcc.gnu.org/g:7a19313b83cd1b5cad74b7085a28890f1dbfaf0d
commit 7a19313b83cd1b5cad74b7085a28890f1dbfaf0d
Author: Manolis Tsamis <manolis.tsamis@vrull.eu>
Date: Tue Nov 28 15:20:24 2023 +0100
Add testcase for #343
Diff:
---
gcc/testsuite/gcc.dg/fold-perm-2.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/gcc/testsuite/gcc.dg/fold-perm-2.c b/gcc/testsuite/gcc.dg/fold-perm-2.c
new file mode 100644
index 00000000000..1a4ab4065de
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/fold-perm-2.c
@@ -0,0 +1,16 @@
+/* { dg-do compile } */
+/* { dg-options "-O -fdump-tree-fre1" } */
+
+typedef int veci __attribute__ ((vector_size (4 * sizeof (int))));
+typedef unsigned int vecu __attribute__ ((vector_size (4 * sizeof (unsigned int))));
+
+void fun (veci *a, veci *b, veci *c)
+{
+ veci r1 = __builtin_shufflevector (*a, *b, 0, 5, 2, 7);
+ vecu r2 = __builtin_convertvector (r1, vecu);
+ vecu r3 = __builtin_shufflevector (r2, r2, 2, 3, 1, 0);
+ *c = __builtin_convertvector (r3, veci);
+}
+
+/* { dg-final { scan-tree-dump "VEC_PERM_EXPR.*{ 2, 7, 5, 0 }" "fre1" } } */
+/* { dg-final { scan-tree-dump-times "VEC_PERM_EXPR" 1 "fre1" } } */
More information about the Gcc-cvs
mailing list