This fixes the failures that recently appeared in the vectorization testsuite on the SPARC: - gcc.dg/vect/pr57705.c: the last loop uses a truncation so we can vectorize only the first 2 loops, - gcc.dg/vect/pr57741-2.c: the testcase requires vectors of floats, - gcc.dg/vect/pr57741-3.c: likewise, - gcc.dg/vect/bb-slp-32.c: the testcase expects vector alignment support.
Tested on SPARC/Solaris, SPARC64/Solaris and x86-64/Linux, applied on the mainline as obvious. 2013-07-27 Eric Botcazou <ebotca...@adacore.com> * gcc.dg/vect/pr57705.c: Adjust for a !vect_pack_trunc target. * gcc.dg/vect/pr57741-2.c: Require a vect_float target. * gcc.dg/vect/pr57741-3.c: Likewise. * gcc.dg/vect/bb-slp-32.c: XFAIL for a vect_no_align target. -- Eric Botcazou
Index: gcc.dg/vect/bb-slp-32.c =================================================================== --- gcc.dg/vect/bb-slp-32.c (revision 201177) +++ gcc.dg/vect/bb-slp-32.c (working copy) @@ -19,5 +19,5 @@ int foo (int *p) return tem0 + tem1 + tem2 + tem3; } -/* { dg-final { scan-tree-dump "vectorization is not profitable" "slp" } } */ +/* { dg-final { scan-tree-dump "vectorization is not profitable" "slp" { xfail vect_no_align } } } */ /* { dg-final { cleanup-tree-dump "slp" } } */ Index: gcc.dg/vect/pr57705.c =================================================================== --- gcc.dg/vect/pr57705.c (revision 201177) +++ gcc.dg/vect/pr57705.c (working copy) @@ -61,5 +61,6 @@ main () return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loop" 3 "vect" } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loop" 3 "vect" { target vect_pack_trunc } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loop" 2 "vect" { target { ! vect_pack_trunc } } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: gcc.dg/vect/pr57741-2.c =================================================================== --- gcc.dg/vect/pr57741-2.c (revision 201177) +++ gcc.dg/vect/pr57741-2.c (working copy) @@ -1,5 +1,6 @@ /* PR tree-optimization/57741 */ /* { dg-do run } */ +/* { dg-require-effective-target vect_float } */ /* { dg-additional-options "-ffast-math" } */ #include "tree-vect.h" Index: gcc.dg/vect/pr57741-3.c =================================================================== --- gcc.dg/vect/pr57741-3.c (revision 201177) +++ gcc.dg/vect/pr57741-3.c (working copy) @@ -1,5 +1,6 @@ /* PR tree-optimization/57741 */ /* { dg-do run } */ +/* { dg-require-effective-target vect_float } */ /* { dg-additional-options "-ffast-math" } */ #include "tree-vect.h"