[PATCH] Fix PR70109

Richard Biener rguenther@suse.de
Mon Mar 7 11:44:00 GMT 2016


The old gcc.dg/vect/O3-pr36098.c now FAILs on target that support
general permutation.  It was added for a miscompile but only tested
that we don't vectorize - now we do, but correctly.

I believe we've recently got a duplicate but proper runtime testcase.

Tested on x86_64-unknown-linux-gnu with various flags, committed.

Richard.

2016-03-07  Richard Biener  <rguenther@suse.de>

	PR testsuite/70109
	* gcc.dg/vect/O3-pr36098.c: New testcase.

Index: gcc/testsuite/gcc.dg/vect/O3-pr36098.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/O3-pr36098.c	(revision 233964)
+++ gcc/testsuite/gcc.dg/vect/O3-pr36098.c	(working copy)
@@ -17,4 +17,8 @@ void foo (int ncons, t_sortblock *sb, in
      iatom[m]=sb[i].iatom[m];
 }
 
-/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" } } */
+/* The testcase was originally added for correctness reasons but now we
+   can vectorize it correctly if the target supports the permutations
+   required.  */
+
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 0 "vect" { target { ! vect_perm } } } } */



More information about the Gcc-patches mailing list