User account creation filtered due to spam.
This is split from the earlier pr https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80618 make -k check-fortran RUNTESTFLAGS=vect.exp=gfortran.dg/vect/vect-2.f90 . . . spawn /home/seurer/gcc/build/gcc-test/gcc/testsuite/gfortran9/../../gfortran -B/home/seurer/gcc/build/gcc-test/gcc/testsuite/gfortran9/../../ -B/home/seurer/gcc/build/gcc-test/powerpc64le-unknown-linux-gnu/./libgfortran/ /home/seurer/gcc/gcc-test/gcc/testsuite/gfortran.dg/vect/vect-2.f90 -fno-diagnostics-show-caret -fdiagnostics-color=never -O -O2 -ftree-vectorize -fvect-cost-model=unlimited -fdump-tree-vect-details -maltivec -mpower8-vector -S -o vect-2.s PASS: gfortran.dg/vect/vect-2.f90 -O (test for excess errors) PASS: gfortran.dg/vect/vect-2.f90 -O scan-tree-dump-times vect "vectorized 3 loops" 1 FAIL: gfortran.dg/vect/vect-2.f90 -O scan-tree-dump-times vect "Alignment of access forced using peeling" 3 FAIL: gfortran.dg/vect/vect-2.f90 -O scan-tree-dump-times vect "Vectorizing an unaligned access" 2 make -k check-fortran RUNTESTFLAGS=vect.exp=gfortran.dg/vect/vect-5.f90 . . . PASS: gfortran.dg/vect/vect-5.f90 -O execution test PASS: gfortran.dg/vect/vect-5.f90 -O scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gfortran.dg/vect/vect-5.f90 -O scan-tree-dump-times vect "Alignment of access forced using peeling" 1 FAIL: gfortran.dg/vect/vect-5.f90 -O scan-tree-dump-times vect "Vectorizing an unaligned access" 1 Note that this is *not* related to this pr: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80925 The test cases were failing in the revision (r248677) prior to the one that triggered pr80925 (r248678).
It's interesting that those fails do not happen on x86_64 ... I'm also curious as of what the testcase is supposed to test. Whether we peel or not really depends on cost modeling which now changed to not peel to align a single store if aligned stores have the same cost as unaligned stores. I see one issue with the patch but that has been rectified with the rewrite I think (not using unaligned_store vs. vector_store). Index: gcc/testsuite/gfortran.dg/vect/vect-2.f90 =================================================================== --- gcc/testsuite/gfortran.dg/vect/vect-2.f90 (revision 248814) +++ gcc/testsuite/gfortran.dg/vect/vect-2.f90 (working copy) @@ -8,14 +8,8 @@ A = LOG(X); B = LOG(Y); C = A + B PRINT*, C(500000) END -! First loop (A=LOG(X)) is vectorized using peeling to align the store. -! Same for the second loop (B=LOG(Y)). -! Third loop (C = A + B) is vectorized using versioning (for targets that don't -! support unaligned loads) or using peeling to align the store (on targets that -! support unaligned loads). +! First loop (A=LOG(X)) may be vectorized using peeling to align the store +! or using unaligned accesses or versioning. +! Same for the second loop (B=LOG(Y)) and the third loop. ! { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" } } -! { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 3 "vect" { xfail { { vect_no_align && { ! vect_hw_misalign } } || { ! vector_alignment_reachable } } } } } -! { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 2 "vect" { target { { vect_no_align && { ! vect_hw_misalign } } && { ! vector_alignment_reachable } } } } } -! { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { xfail { vect_no_align && { ! vect_hw_misalign } } } } } -! { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 3 "vect" {target { { vect_no_align && { ! vect_hw_misalign } } || { { ! vector_alignment_reachable } && { ! vect_hw_misalign } } } } } }