This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[patch, testsuite, vect] Patches for gcc.dg/vect/slp-reduc-[36].c on IA64
- From: Steve Ellcey <sje at cup dot hp dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 18 Nov 2010 14:55:24 -0800 (PST)
- Subject: [patch, testsuite, vect] Patches for gcc.dg/vect/slp-reduc-[36].c on IA64
- Reply-to: sje at cup dot hp dot com
These two vector tests fail on IA64 because they aren't xfailed for systems
that don't support an unpack instruction. slp-reduc-6 also has an issue
with a vector not being aligned. This patch fixes both problems for IA64.
OK to checkin?
Steve Ellcey
sje@cup.hp.com
2010-11-18 Steve Ellcey <sje@cup.hp.com>
* gcc.dg/vect/slp-reduc-3.c: Make check dependent on vect_unpack.
* gcc.dg/vect/slp-reduc-6.c: Ditto, plus add alignment.
Index: gcc.dg/vect/slp-reduc-3.c
===================================================================
--- gcc.dg/vect/slp-reduc-3.c (revision 166895)
+++ gcc.dg/vect/slp-reduc-3.c (working copy)
@@ -57,6 +57,6 @@ int main (void)
/* The initialization loop in main also gets vectorized. */
/* { dg-final { scan-tree-dump-times "vect_recog_dot_prod_pattern: detected" 1 "vect" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target { vect_short_mult && vect_widen_sum_hi_to_si } } } } */
-/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { xfail { vect_widen_sum_hi_to_si_pattern } } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target { vect_short_mult && { vect_widen_sum_hi_to_si && vect_unpack } } } } } */
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { xfail { vect_widen_sum_hi_to_si_pattern || { ! vect_unpack } } } } } */
/* { dg-final { cleanup-tree-dump "vect" } } */
Index: gcc.dg/vect/slp-reduc-6.c
===================================================================
--- gcc.dg/vect/slp-reduc-6.c (revision 166895)
+++ gcc.dg/vect/slp-reduc-6.c (working copy)
@@ -6,7 +6,7 @@
#define N 128
-int a[N], b[N];
+int a[N], b[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
/* Vectorization of reduction. Loop-aware SLP is not possible, because of
different arrays. */
@@ -43,7 +43,7 @@ int main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { xfail vect_no_int_add } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { xfail { vect_no_int_add || { ! vect_unpack } } } } } */
/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" } } */
/* { dg-final { scan-tree-dump-times "different interleaving chains in one node" 1 "vect" { target { ! vect_no_int_add } } } } */
/* { dg-final { cleanup-tree-dump "vect" } } */