This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH, rs6000] Fix PR85080
- From: Bill Schmidt <wschmidt at linux dot ibm dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Cc: Segher Boessenkool <segher at kernel dot crashing dot org>, David Edelsohn <dje dot gcc at gmail dot com>
- Date: Sun, 15 Apr 2018 21:41:04 -0500
- Subject: [PATCH, rs6000] Fix PR85080
Hi,
PR85080 identifies a test case that started failing last year when
an improvement was made to the vectorizer. The failure turns out to
be appropriate. The test used to not expect the loop in the first
function to be vectorized, because the cost of potentially unaligned
loads made this unprofitable. However, with Power8 and later hardware,
this is no longer the case. This patch adjusts the test to only check
its results for targets that have inefficient unaligned loads.
Tested on powerpc64le-linux-gnu (POWER8) and powerpc64-linux-gnu
(POWER7). Is this okay for trunk?
Thanks,
Bill
[gcc/testsuite]
2018-04-16 Bill Schmidt <wschmidt@linux.ibm.com>
PR target/85080
* gcc.dg/vect/costmodel/ppc/costmodel-pr37194.c: Skip dump checks
if the target supports efficient unaligned storage accesses.
Index: gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-pr37194.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-pr37194.c (revision 259389)
+++ gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-pr37194.c (working copy)
@@ -22,6 +22,6 @@ ggSpectrum_Set20(float * data, float d)
data[i] = d;
}
-/* { dg-final { scan-tree-dump-times "vectorization not profitable" 1 "vect" } } */
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vectorization not profitable" 1 "vect" { target { ! vect_hw_misalign } } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { ! vect_hw_misalign } } } } */