User account creation filtered due to spam.

Bug 80946 - [8 regression] test cases gfortran.dg/vect/vect-2.f90 and gfortran.dg/vect/vect-5.f90 fail starting with r247544
Summary: [8 regression] test cases gfortran.dg/vect/vect-2.f90 and gfortran.dg/vect/ve...
Status: UNCONFIRMED
Alias: None
Product: gcc
Classification: Unclassified
Component: testsuite (show other bugs)
Version: 8.0
: P3 normal
Target Milestone: 8.0
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-06-01 19:56 UTC by seurer
Modified: 2017-06-02 08:27 UTC (History)
3 users (show)

See Also:
Host:
Target: powerpc64le-*-*
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description seurer 2017-06-01 19:56:51 UTC
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).
Comment 1 Richard Biener 2017-06-02 08:27:35 UTC
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 } } } } } }