Bug 44325 - [4.6 regression] FAIL: gcc.dg/vect/vect-109.c
Summary: [4.6 regression] FAIL: gcc.dg/vect/vect-109.c
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: testsuite (show other bugs)
Version: 4.6.0
: P3 normal
Target Milestone: 4.6.0
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-05-29 17:03 UTC by H.J. Lu
Modified: 2010-07-10 21:39 UTC (History)
3 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description H.J. Lu 2010-05-29 17:03:55 UTC
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.
Comment 1 H.J. Lu 2010-05-29 17:05:46 UTC
It may be caused by revision 159920:

http://gcc.gnu.org/ml/gcc-cvs/2010-05/msg00977.html

Comment 2 Mikael Pettersson 2010-07-10 10:06:48 UTC
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.
Comment 3 Mikael Pettersson 2010-07-10 10:30:32 UTC
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.
Comment 4 Mikael Pettersson 2010-07-10 21:10:40 UTC
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
Comment 5 Richard Biener 2010-07-10 21:38:43 UTC
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

Comment 6 Richard Biener 2010-07-10 21:39:20 UTC
Fixed.