On Linux/ia64, revision 159926 gave: FAIL: gcc.dg/vect/vect-109.c scan-tree-dump-times vect "vectorized 1 loops" 2 Revision 159909 is OK.
It may be caused by revision 159920: http://gcc.gnu.org/ml/gcc-cvs/2010-05/msg00977.html
This test now also fails with 4.5 branch on powerpc64. It's a recent regression, introduced somewhere between 20100701 and 20100708. The -fdump-tree-vect-details file shows: > fgrep vectorized vect-109.c.110t.vect vect-109.c:33: note: not vectorized: control flow in loop. vect-109.c:26: note: === vect_mark_stmts_to_be_vectorized === vect-109.c:26: note: not vectorized: unsupported unaligned store. vect-109.c:20: note: vectorized 0 loops in function. vect-109.c:55: note: not vectorized: control flow in loop. vect-109.c:48: note: === vect_mark_stmts_to_be_vectorized === vect-109.c:48: note: not vectorized: unsupported unaligned store. vect-109.c:42: note: vectorized 0 loops in function. so it's not the common problem with too many vectorized loops. I'll try reverting the PR44284 backport.
It now also fails with 4.5 branch on sparc64-linux, with identical -fdump-tree-vect-details as for powerpc64. With 4.6 it fails on ARM with identical reason since 20100529. I'm thinking this hunk in the PR44284 fix is to blame: --- trunk/gcc/testsuite/gcc.dg/vect/vect-109.c 2010/05/27 12:08:51 159919 +++ trunk/gcc/testsuite/gcc.dg/vect/vect-109.c 2010/05/27 13:23:45 159920 @@ -72,7 +72,7 @@ return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 0 loops" 2 "vect" } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" } } */ /* { dg-final { scan-tree-dump-times "not vectorized: unsupported unaligned store" 2 "vect" { xfail vect_hw_misalign } } } */ /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 10 "vect" { target vect_hw_misalign } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ That is, the changed expectation that vectorization now will succeed should probably depend on target vect_hw_misalign.
This is fixed on trunk since r161797. However, this is now a 4.5 regression. A patch to backport the fix to 4.5 has been posted: http://gcc.gnu.org/ml/gcc-patches/2010-07/msg00877.html
Subject: Bug 44325 Author: rguenth Date: Sat Jul 10 21:38:32 2010 New Revision: 162044 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=162044 Log: 2010-07-10 Mikael Pettersson <mikpe@it.uu.se> PR testsuite/44325 Backport from mainline 2010-07-04 Ira Rosen <irar@il.ibm.com> Revital Eres <eres@il.ibm.com> * gcc.dg/vect/vect-109.c: Expect vectorization only on targets that support misaligned stores. Modified: branches/gcc-4_5-branch/gcc/testsuite/ChangeLog branches/gcc-4_5-branch/gcc/testsuite/gcc.dg/vect/vect-109.c
Fixed.