Saw this on power7 BE targeting power7 testgcc: Tried 263290 testgcc: make -k check-gcc RUNTESTFLAGS=vect.exp=gcc.dg/vect/bb-slp-pow-1.c -================================- testgcc: 263290 had unexpected test case failures testgcc: results of test run: # of expected passes 4 # of unexpected failures 2 FAIL: gcc.dg/vect/bb-slp-pow-1.c scan-tree-dump-times slp2 "basic block vectorized" 1 FAIL: gcc.dg/vect/bb-slp-pow-1.c -flto -ffat-lto-objects scan-tree-dump-times slp2 "basic block vectorized" 1 Executing on host: /home/seurer/gcc/build/gcc-test/gcc/xgcc -B/home/seurer/gcc/build/gcc-test/gcc/ /home/seurer/gcc/gcc-test/gcc/testsuite/gcc.dg/vect/bb-slp-pow-1.c -fno-diagnostics-show-caret -fdiagnostics-color=never -maltivec -mvsx -mno-allow-movmisalign -ftree-vectorize -fno-vect-cost-model -fno-common -O2 -fdump-tree-slp-details -fno-math-errno -fdisable-tree-sincos -lm -o ./bb-slp-pow-1.exe (timeout = 300) spawn -ignore SIGHUP /home/seurer/gcc/build/gcc-test/gcc/xgcc -B/home/seurer/gcc/build/gcc-test/gcc/ /home/seurer/gcc/gcc-test/gcc/testsuite/gcc.dg/vect/bb-slp-pow-1.c -fno-diagnostics-show-caret -fdiagnostics-color=never -maltivec -mvsx -mno-allow-movmisalign -ftree-vectorize -fno-vect-cost-model -fno-common -O2 -fdump-tree-slp-details -fno-math-errno -fdisable-tree-sincos -lm -o ./bb-slp-pow-1.exe cc1: note: disable pass tree-sincos for functions in the range of [0, 4294967295] PASS: gcc.dg/vect/bb-slp-pow-1.c (test for excess errors) Setting LD_LIBRARY_PATH to :/home/seurer/gcc/build/gcc-test/gcc::/home/seurer/gcc/build/gcc-test/gcc:/home/seurer/gcc/build/gcc-test/./gmp/.libs:/home/seurer/gcc/build/gcc-test/./prev-gmp/.libs:/home/seurer/gcc/build/gcc-test/./mpfr/src/.libs:/home/seurer/gcc/build/gcc-test/./prev-mpfr/src/.libs:/home/seurer/gcc/build/gcc-test/./mpc/src/.libs:/home/seurer/gcc/build/gcc-test/./prev-mpc/src/.libs:/home/seurer/gcc/build/gcc-test/./isl/.libs:/home/seurer/gcc/build/gcc-test/./prev-isl/.libs:/home/seurer/gcc/install/gcc-7.2.0/lib64 Execution timeout is: 300 spawn [open ...] PASS: gcc.dg/vect/bb-slp-pow-1.c execution test gcc.dg/vect/bb-slp-pow-1.c: pattern found 0 times FAIL: gcc.dg/vect/bb-slp-pow-1.c scan-tree-dump-times slp2 "basic block vectorized" 1 Executing on host: /home/seurer/gcc/build/gcc-test/gcc/xgcc -B/home/seurer/gcc/build/gcc-test/gcc/ /home/seurer/gcc/gcc-test/gcc/testsuite/gcc.dg/vect/bb-slp-pow-1.c -fno-diagnostics-show-caret -fdiagnostics-color=never -flto -ffat-lto-objects -maltivec -mvsx -mno-allow-movmisalign -ftree-vectorize -fno-vect-cost-model -fno-common -O2 -fdump-tree-slp-details -fno-math-errno -fdisable-tree-sincos -lm -o ./bb-slp-pow-1.exe (timeout = 300) spawn -ignore SIGHUP /home/seurer/gcc/build/gcc-test/gcc/xgcc -B/home/seurer/gcc/build/gcc-test/gcc/ /home/seurer/gcc/gcc-test/gcc/testsuite/gcc.dg/vect/bb-slp-pow-1.c -fno-diagnostics-show-caret -fdiagnostics-color=never -flto -ffat-lto-objects -maltivec -mvsx -mno-allow-movmisalign -ftree-vectorize -fno-vect-cost-model -fno-common -O2 -fdump-tree-slp-details -fno-math-errno -fdisable-tree-sincos -lm -o ./bb-slp-pow-1.exe cc1: note: disable pass tree-sincos for functions in the range of [0, 4294967295] lto1: note: disable pass tree-sincos for functions in the range of [0, 4294967295] lto1: note: disable pass tree-sincos for functions in the range of [0, 4294967295] PASS: gcc.dg/vect/bb-slp-pow-1.c -flto -ffat-lto-objects (test for excess errors) Setting LD_LIBRARY_PATH to :/home/seurer/gcc/build/gcc-test/gcc::/home/seurer/gcc/build/gcc-test/gcc:/home/seurer/gcc/build/gcc-test/./gmp/.libs:/home/seurer/gcc/build/gcc-test/./prev-gmp/.libs:/home/seurer/gcc/build/gcc-test/./mpfr/src/.libs:/home/seurer/gcc/build/gcc-test/./prev-mpfr/src/.libs:/home/seurer/gcc/build/gcc-test/./mpc/src/.libs:/home/seurer/gcc/build/gcc-test/./prev-mpc/src/.libs:/home/seurer/gcc/build/gcc-test/./isl/.libs:/home/seurer/gcc/build/gcc-test/./prev-isl/.libs:/home/seurer/gcc/install/gcc-7.2.0/lib64 Execution timeout is: 300 spawn [open ...] PASS: gcc.dg/vect/bb-slp-pow-1.c -flto -ffat-lto-objects execution test gcc.dg/vect/bb-slp-pow-1.c -flto -ffat-lto-objects : pattern found 0 times FAIL: gcc.dg/vect/bb-slp-pow-1.c -flto -ffat-lto-objects scan-tree-dump-times slp2 "basic block vectorized" 1 testcase /home/seurer/gcc/gcc-test/gcc/testsuite/gcc.dg/vect/vect.exp completed in 10 seconds === gcc Summary === # of expected passes 4 # of unexpected failures 2
Confirmed. This issue is power7 and below only, since it implicitly sets -mno-allow-movmisalign, which disallow unaligned load/store in vectorization. The proposed fix to guard the case under vect_hw_misalig on power targets.
Created attachment 45432 [details] Similar to the patch fixing pr65484 Referring to pr65484.
Author: linkw Date: Thu Jan 17 03:03:38 2019 New Revision: 268003 URL: https://gcc.gnu.org/viewcvs?rev=268003&root=gcc&view=rev Log: PR target/87306 * gcc.dg/vect/bb-slp-pow-1.c: Modify to reflect that the loop is not vectorized on POWER unless hardware misaligned loads are available. --T his line, and those below, will be ignored-- M gcc/testsuite/ChangeLog M gcc/testsuite/gcc.dg/vect/bb-slp-pow-1.c Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/vect/bb-slp-pow-1.c
Author: linkw Revision: 268003 Modified property: svn:log Modified: svn:log at Thu Jan 17 03:24:27 2019 ------------------------------------------------------------------------------ --- svn:log (original) +++ svn:log Thu Jan 17 03:24:27 2019 @@ -1,10 +1,5 @@ - PR target/87306 * gcc.dg/vect/bb-slp-pow-1.c: Modify to reflect that the loop is not vectorized on POWER unless hardware misaligned loads are available. ---T his line, and those below, will be ignored-- - -M gcc/testsuite/ChangeLog -M gcc/testsuite/gcc.dg/vect/bb-slp-pow-1.c
The issue should be fixed in trunk. Don't need to back port.
Author: linkw Revision: 268003 Modified property: svn:log Modified: svn:log at Tue Nov 5 02:26:38 2019 ------------------------------------------------------------------------------ --- svn:log (original) +++ svn:log Tue Nov 5 02:26:38 2019 @@ -1,3 +1,5 @@ + [PATCH, rs6000, testsuite] Fix PR87306 + PR target/87306 * gcc.dg/vect/bb-slp-pow-1.c: Modify to reflect that the loop is not vectorized on POWER unless hardware