On Linux/ia64, revision 163565 gave FAIL: gcc.dg/vect/no-section-anchors-vect-64.c scan-tree-dump-times vect "Alignment of access forced using peeling" 2 Revision 163561 is OK.
What does it instead say in the dump?
In ia64 cross I see that only one Alignment of access forced using peeling message is printed (for the first loop), instead of two (for the first and third loop). If 163561 was ok, then then difference is most probably the change to the testcase itself: http://gcc.gnu.org/viewcvs/trunk/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-64.c?r1=163563&r2=163562&pathrev=163563 The culprit is the change of id array. I guess we could do something like: --- gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-64.c.jj 2010-11-17 11:18:22.000000000 +0100 +++ gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-64.c 2010-11-17 11:17:39.000000000 +0100 @@ -8,7 +8,7 @@ int ib[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45}; int ia[N][4][N+1]; int ic[N][N][3][N+1]; -int id[N][N][N+1]; +int id[N][N][N+4]; __attribute__ ((noinline)) (at least this seems to work for both ia64 and x86_64).
And the reason why it only shows up on ia64 is because it uses vectorization factor 2 instead of 4 that is used on x86_64/i386+sse2. With: int id[16][16][17] id[i][1][0+1] is actually aligned to 2 * sizeof (int), so no peeling is needed to align it.
Author: jakub Date: Wed Nov 17 12:05:24 2010 New Revision: 166865 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166865 Log: PR testsuite/45429 * gcc.dg/vect/no-section-anchors-vect-64.c: New test. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-64.c
Fixed.