Patchwork [testsuite,vect] Patches for gcc.dg/vect/slp-reduc-[36].c on IA64

login
register
mail settings
Submitter Steve Ellcey
Date Nov. 18, 2010, 10:55 p.m.
Message ID <201011182255.oAIMtOf29511@lucas.cup.hp.com>
Download mbox | patch
Permalink /patch/72163/
State New
Headers show

Comments

Steve Ellcey - Nov. 18, 2010, 10:55 p.m.
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.
Richard Henderson - Nov. 18, 2010, 11:45 p.m.
On 11/18/2010 02:55 PM, Steve Ellcey wrote:
> 	* gcc.dg/vect/slp-reduc-3.c: Make check dependent on vect_unpack.
> 	* gcc.dg/vect/slp-reduc-6.c: Ditto, plus add alignment.

Ok.

r~

Patch

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" } } */