This Change: r175009 | irar | 2011-06-14 00:00:37 -0700 (Tue, 14 Jun 2011) | 12 lines * gcc.dg/vect/vect-16.c: Rename to... * gcc.dg/vect/no-fast-math-vect16.c: ...this. * gcc.dg/vect/vect-peel-3.c: Adjust misalignment values for double-word vectors. * gcc.dg/vect/vect-peel-4.c: Likewise. * gcc.dg/vect/bb-slp-10.c: Replace vect_hw_misalign with vect_element_align. * gcc.dg/vect/vect.exp: Run no-fast-math-* tests with Caused gcc.dg/vect/vect-peel-3.c and gcc.dg/vect/vect-peel-4.c to start failing on the ia64-*-* platforms (HP-UX and Linux). FAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1 FAIL: gcc.dg/vect/vect-peel-4.c scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/vect-peel-3.c -flto scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/vect-peel-3.c -flto scan-tree-dump-times vect "Alignment of access forced using peeling" 1 FAIL: gcc.dg/vect/vect-peel-4.c -flto scan-tree-dump-times vect "vectorized 1 loops" 1
Created attachment 24547 [details] Dump file with vectorize details Dump file from vect-peel-3.c when run with -ftree-vectorize -fno-vect-cost-model -O2 -fdump-tree-vect-details
Both tests contain misaligned accesses and cannot be vectorized on targets that have no misalignment support, like ia64. So, I think, the tests should just fail: Index: vect-peel-3.c =================================================================== --- vect-peel-3.c (revision 175101) +++ vect-peel-3.c (working copy) @@ -47,7 +47,7 @@ return main1 (); } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */ /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail vect_no_align } } } */ -/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" } } */ +/* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { xfail vect_no_align } } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ Index: vect-peel-4.c =================================================================== --- vect-peel-4.c (revision 175101) +++ vect-peel-4.c (working copy) @@ -44,7 +44,7 @@ return main1 (); } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */ /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { xfail vect_no_align } } } */ /* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 0 "vect" } } */ /* { dg-final { cleanup-tree-dump "vect" } } */ They worked before r175009, because the tests didn't take into account vectors of two ints, and all the accesses were aligned unintentionally. Could you please verify that the above patch fixes the failures? Thanks, Ira
Yes, the patch in comment #2 fixes the failures on IA64.
Author: irar Date: Tue Jun 21 09:01:23 2011 New Revision: 175246 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=175246 Log: PR testsuite/49443 * gcc.dg/vect/vect-peel-3.c: Expect to fail on vect_no_align targets. * gcc.dg/vect/vect-peel-4.c: Likewise. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/vect/vect-peel-3.c trunk/gcc/testsuite/gcc.dg/vect/vect-peel-4.c
Fixed.
Author: jye2 Date: Tue Sep 20 09:00:58 2011 New Revision: 179003 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179003 Log: 2011-09-20 Jiangning Liu <jiangning.liu@arm.com> Backport r175246 from mainline 2011-06-21 Ira Rosen <ira.rosen@linaro.org> PR testsuite/49443 * gcc.dg/vect/vect-peel-3.c: Expect to fail on vect_no_align targets. * gcc.dg/vect/vect-peel-4.c: Likewise. 2011-09-20 Jiangning Liu <jiangning.liu@arm.com> Backport r175009 from mainline 2011-06-14 Ira Rosen <ira.rosen@linaro.org> * gcc.dg/vect/vect-16.c: Rename to... * gcc.dg/vect/no-fast-math-vect16.c: ...this. * gcc.dg/vect/vect-peel-3.c: Adjust misalignment values for double-word vectors. * gcc.dg/vect/vect-peel-4.c: Likewise. * gcc.dg/vect/bb-slp-10.c: Replace vect_hw_misalign with vect_element_align. * gcc.dg/vect/vect.exp: Run no-fast-math-* tests with -fno-fast-math. Added: branches/ARM/embedded-4_6-branch/gcc/testsuite/gcc.dg/vect/no-fast-math-vect16.c (props changed) - copied unchanged from r178998, branches/ARM/embedded-4_6-branch/gcc/testsuite/gcc.dg/vect/vect-16.c Removed: branches/ARM/embedded-4_6-branch/gcc/testsuite/gcc.dg/vect/vect-16.c Modified: branches/ARM/embedded-4_6-branch/gcc/testsuite/ChangeLog.arm branches/ARM/embedded-4_6-branch/gcc/testsuite/gcc.dg/vect/bb-slp-10.c branches/ARM/embedded-4_6-branch/gcc/testsuite/gcc.dg/vect/vect-peel-3.c branches/ARM/embedded-4_6-branch/gcc/testsuite/gcc.dg/vect/vect-peel-4.c branches/ARM/embedded-4_6-branch/gcc/testsuite/gcc.dg/vect/vect.exp Propchange: branches/ARM/embedded-4_6-branch/gcc/testsuite/gcc.dg/vect/no-fast-math-vect16.c ('svn:mergeinfo' added)
Author: uweigand Date: Fri Aug 10 13:26:44 2012 New Revision: 190296 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=190296 Log: ChangeLog: Backport from mainline 2012-07-30 Ulrich Weigand <ulrich.weigand@linaro.org> Richard Earnshaw <rearnsha@arm.com> * target.def (vector_alignment): New target hook. * doc/tm.texi.in (TARGET_VECTOR_ALIGNMENT): Document new hook. * doc/tm.texi: Regenerate. * targhooks.c (default_vector_alignment): New function. * targhooks.h (default_vector_alignment): Add prototype. * stor-layout.c (layout_type): Use targetm.vector_alignment. * config/arm/arm.c (arm_vector_alignment): New function. (TARGET_VECTOR_ALIGNMENT): Define. * tree-vect-data-refs.c (vect_update_misalignment_for_peel): Use vector type alignment instead of size. * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Use element type size directly instead of computing it from alignment. Fix variable naming and comment. testsuite/ChangeLog: Backport from mainline 2012-07-30 Ulrich Weigand <ulrich.weigand@linaro.org> * lib/target-supports.exp (check_effective_target_vect_natural_alignment): New function. * gcc.dg/align-2.c: Only run on targets with natural alignment of vector types. * gcc.dg/vect/slp-25.c: Adjust tests for targets without natural alignment of vector types. 2011-12-21 Michael Zolotukhin <michael.v.zolotukhin@intel.com> * gcc.dg/vect/vect-peel-1.c: Adjust test diag-scans to fix fail on AVX. * gcc.dg/vect/vect-peel-2.c: Ditto. 2011-06-21 Ira Rosen <ira.rosen@linaro.org> PR testsuite/49443 * gcc.dg/vect/vect-peel-3.c: Expect to fail on vect_no_align targets. * gcc.dg/vect/vect-peel-4.c: Likewise. 2011-06-14 Ira Rosen <ira.rosen@linaro.org> * gcc.dg/vect/vect-peel-3.c: Adjust misalignment values for double-word vectors. * gcc.dg/vect/vect-peel-4.c: Likewise. Modified: branches/gcc-4_6-branch/gcc/ChangeLog branches/gcc-4_6-branch/gcc/config/arm/arm.c branches/gcc-4_6-branch/gcc/doc/tm.texi branches/gcc-4_6-branch/gcc/doc/tm.texi.in branches/gcc-4_6-branch/gcc/stor-layout.c branches/gcc-4_6-branch/gcc/target.def branches/gcc-4_6-branch/gcc/targhooks.c branches/gcc-4_6-branch/gcc/targhooks.h branches/gcc-4_6-branch/gcc/testsuite/ChangeLog branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/align-2.c branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/vect/slp-25.c branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/vect/vect-peel-1.c branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/vect/vect-peel-2.c branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/vect/vect-peel-3.c branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/vect/vect-peel-4.c branches/gcc-4_6-branch/gcc/testsuite/lib/target-supports.exp branches/gcc-4_6-branch/gcc/tree-vect-data-refs.c branches/gcc-4_6-branch/gcc/tree-vect-loop-manip.c