This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] vectorizer testsuite: add alignment checks


> 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?

-- 
Eric Botcazou


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]