This is the mail archive of the
mailing list for the GCC project.
Re: [patch] vectorizer testsuite: add alignment checks
- From: Eric Botcazou <ebotcazou at libertysurf dot fr>
- To: Dorit Naishlos <DORIT at il dot ibm dot com>
- Cc: gcc-patches at gcc dot gnu dot org,Richard Henderson <rth at redhat dot com>
- Date: Sat, 15 Jan 2005 13:47:15 +0100
- Subject: Re: [patch] vectorizer testsuite: add alignment checks
- References: <OFA4C4DCA0.5549FE1E-ONC2256F81.005EBC79-C2256F82.0075BD0D@il.ibm.com>
> Sometimes when an access is not guaranteed to be aligned the vectorizer
> performs loop peeling to force the alignment of the access. Vectorization
> of such accesses therefore does not require misalignment support, so these
> are not reported along with the above. To detect these we match the pattern
> "Alignment of access forced using peeling". This check was not added to
> testcases in which accesses are trivially aligned (e.g. in which all
> accesses are of user-defined types with sufficient alignment attribute).
One problem on SPARC 32-bit and 64-bit:
FAIL: gcc.dg/vect/vect-66.c scan-tree-dump-times Alignment of access forced
using peeling 1
We don't need loop peeling to vectorize the third loop:
loop at vect-66.c:17: if (ivtmp.20_83 < 2) goto <L72>; else goto <L3>;
loop at vect-66.c:17: LOOP VECTORIZED.
loop at vect-66.c:28: not vectorized: bad loop form. multiple exits.
loop at vect-66.c:36: if (ivtmp.28_69 < 2) goto <L78>; else goto <L17>;
loop at vect-66.c:36: LOOP VECTORIZED.
loop at vect-66.c:44: not vectorized: bad loop form. multiple exits.
loop at vect-66.c:52: if (ivtmp.36_13 < 2) goto <L84>; else goto <L31>;
loop at vect-66.c:52: LOOP VECTORIZED.
loop at vect-66.c:63: not vectorized: bad loop form. multiple exits.
Maybe related to the size of the vector type. Can I xfail it on SPARC?