Hi, PR70011 identifies an old vectorization test that recently started failing on GCC 6 with POWER8 hardware. This "failure" is that we now find vectorization of the test case to be profitable, where it didn't used to be. A combination of two factors allowed this to become profitable here: First, the POWER8 feature that unaligned vector accesses are supported by hardware; and second, some improvement in the vectorizer itself (vect_recog_mult_pattern now kicks in).
The proposed fix herein is to XFAIL the test for vectorization failure for POWER subtargets that support efficient unaligned vector accesses. Since this also requires the vectorization improvement that only occurs in GCC 6, it makes sense to only make this change on trunk. I've verified the modified test on powerpc64le-unknown-linux-gnu (POWER8) and on powerpc64-unknown-linux-gnu (both POWER7 and POWER8) and everything works as expected. Is this ok for trunk? Thanks, Bill 2016-02-29 Bill Schmidt <[email protected]> PR target/70011 * gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr299925.c: XFAIL when hardware supports efficient unaligned storage access. Index: gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr29925.c =================================================================== --- gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr29925.c (revision 233813) +++ gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr29925.c (working copy) @@ -35,5 +35,5 @@ int main() return 0; } -/* { dg-final { scan-tree-dump-times "vectorization not profitable" 1 "vect" } } */ +/* { dg-final { scan-tree-dump-times "vectorization not profitable" 1 "vect" { xfail { vect_hw_misalign } } } } */
