This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Fix PR70011 (backlevel test case)


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  <wschmidt@linux.vnet.ibm.com>

	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 } } } } */
 



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]