While doing some arm-none-eabi testing, I noticed that a bunch of gcc.dg/vect tests were causing the target to hang from trying to execute code compiled with "-mfpu=neon -mfloat-abi=softfp", on a target that doesn't support those instructions. And, this was caused by tests specifying "dg-do run" unconditionally instead of allowing the dg-require-effective-target mechanism to decide whether the target can run code compiled with the vectorization options added by vect.exp.

This patch fixes the bad tests.  OK to check in?

-Sandra


2014-09-25  Sandra Loosemore  <san...@codesourcery.com>

        gcc/testsuite/
        * gcc.dg/vect/pr56933.c: Don't specify "dg-do run" explicitly; use
        dg-require-effective-target to decide whether the testcase can
        be run.
        * gcc.dg/vect/pr57705.c: Likewise.
        * gcc.dg/vect/pr57741-2.c: Likewise.
        * gcc.dg/vect/pr57741-3.c: Likewise.
        * gcc.dg/vect/pr59591-1.c: Likewise.
        * gcc.dg/vect/pr59591-2.c: Likewise.
        * gcc.dg/vect/pr60196-1.c: Likewise.
        * gcc.dg/vect/pr60196-2.c: Likewise.
        * gcc.dg/vect/pr60276.c: Likewise.
        * gcc.dg/vect/pr61680.c: Likewise.
        * gcc.dg/vect/pr63148.c: Likewise.
        * gcc.dg/vect/pr63189.c: Likewise.
        * gcc.dg/vect/vect-mask-load-1.c: Likewise.
        * gcc.dg/vect/vect-mask-loadstore-1.c: Likewise.
        * gcc.dg/vect/vect-nop-move.c: Likewise.
        * gcc.dg/vect/vect-simd-clone-10.c: Likewise.
        * gcc.dg/vect/vect-simd-clone-12.c: Likewise.



Index: gcc/testsuite/gcc.dg/vect/pr56933.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/pr56933.c	(revision 215576)
+++ gcc/testsuite/gcc.dg/vect/pr56933.c	(working copy)
@@ -1,4 +1,3 @@
-/* { dg-do run } */
 /* { dg-require-effective-target vect_double } */
 
 #include "tree-vect.h"
Index: gcc/testsuite/gcc.dg/vect/pr57705.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/pr57705.c	(revision 215576)
+++ gcc/testsuite/gcc.dg/vect/pr57705.c	(working copy)
@@ -1,4 +1,3 @@
-/* { dg-do run } */
 /* { dg-require-effective-target vect_int } */
 
 #include "tree-vect.h"
Index: gcc/testsuite/gcc.dg/vect/pr57741-2.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/pr57741-2.c	(revision 215576)
+++ gcc/testsuite/gcc.dg/vect/pr57741-2.c	(working copy)
@@ -1,5 +1,4 @@
 /* PR tree-optimization/57741 */
-/* { dg-do run } */
 /* { dg-require-effective-target vect_float } */
 /* { dg-additional-options "-ffast-math" } */
 
Index: gcc/testsuite/gcc.dg/vect/pr57741-3.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/pr57741-3.c	(revision 215576)
+++ gcc/testsuite/gcc.dg/vect/pr57741-3.c	(working copy)
@@ -1,5 +1,4 @@
 /* PR tree-optimization/57741 */
-/* { dg-do run } */
 /* { dg-require-effective-target vect_float } */
 /* { dg-require-effective-target vect_int } */
 /* { dg-additional-options "-ffast-math" } */
Index: gcc/testsuite/gcc.dg/vect/pr59591-1.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/pr59591-1.c	(revision 215576)
+++ gcc/testsuite/gcc.dg/vect/pr59591-1.c	(working copy)
@@ -1,5 +1,5 @@
 /* PR tree-optimization/59591 */
-/* { dg-do run } */
+/* { dg-require-effective-target vect_int } */
 /* { dg-additional-options "-fopenmp-simd" } */
 
 #ifndef CHECK_H
Index: gcc/testsuite/gcc.dg/vect/pr59591-2.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/pr59591-2.c	(revision 215576)
+++ gcc/testsuite/gcc.dg/vect/pr59591-2.c	(working copy)
@@ -1,5 +1,5 @@
 /* PR tree-optimization/59591 */
-/* { dg-do run } */
+/* { dg-require-effective-target vect_int } */
 /* { dg-additional-options "-fopenmp-simd" } */
 
 #ifndef CHECK_H
Index: gcc/testsuite/gcc.dg/vect/pr60196-1.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/pr60196-1.c	(revision 215576)
+++ gcc/testsuite/gcc.dg/vect/pr60196-1.c	(working copy)
@@ -1,6 +1,6 @@
 /* PR tree-optimization/63189 */
 /* { dg-additional-options "-fwrapv" } */
-/* { dg-do run } */
+/* { dg-require-effective-target vect_int } */
 
 #include "tree-vect.h"
 
Index: gcc/testsuite/gcc.dg/vect/pr60196-2.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/pr60196-2.c	(revision 215576)
+++ gcc/testsuite/gcc.dg/vect/pr60196-2.c	(working copy)
@@ -1,5 +1,5 @@
 /* PR tree-optimization/63189 */
-/* { dg-do run } */
+/* { dg-require-effective-target vect_int } */
 
 #include "tree-vect.h"
 
Index: gcc/testsuite/gcc.dg/vect/pr60276.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/pr60276.c	(revision 215576)
+++ gcc/testsuite/gcc.dg/vect/pr60276.c	(working copy)
@@ -1,4 +1,4 @@
-/* { dg-do run } */
+/* { dg-require-effective-target vect_int } */
 
 extern void abort (void);
 
Index: gcc/testsuite/gcc.dg/vect/pr61680.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/pr61680.c	(revision 215576)
+++ gcc/testsuite/gcc.dg/vect/pr61680.c	(working copy)
@@ -1,4 +1,4 @@
-/* { dg-do run } */
+/* { dg-require-effective-target vect_double } */
 
 #include "tree-vect.h"
 
Index: gcc/testsuite/gcc.dg/vect/pr63148.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/pr63148.c	(revision 215576)
+++ gcc/testsuite/gcc.dg/vect/pr63148.c	(working copy)
@@ -1,4 +1,4 @@
-/* { dg-do run } */
+/* { dg-require-effective-target vect_double } */
 
 #include "tree-vect.h"
 
Index: gcc/testsuite/gcc.dg/vect/pr63189.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/pr63189.c	(revision 215576)
+++ gcc/testsuite/gcc.dg/vect/pr63189.c	(working copy)
@@ -1,5 +1,5 @@
 /* PR tree-optimization/63189 */
-/* { dg-do run } */
+/* { dg-require-effective-target vect_int } */
 
 #include "tree-vect.h"
 
Index: gcc/testsuite/gcc.dg/vect/vect-mask-load-1.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/vect-mask-load-1.c	(revision 215576)
+++ gcc/testsuite/gcc.dg/vect/vect-mask-load-1.c	(working copy)
@@ -1,4 +1,4 @@
-/* { dg-do run } */
+/* { dg-require-effective-target vect_double } */
 /* { dg-additional-options "-Ofast -fno-common" } */
 /* { dg-additional-options "-Ofast -fno-common -mavx" { target avx_runtime } } */
 
Index: gcc/testsuite/gcc.dg/vect/vect-mask-loadstore-1.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/vect-mask-loadstore-1.c	(revision 215576)
+++ gcc/testsuite/gcc.dg/vect/vect-mask-loadstore-1.c	(working copy)
@@ -1,4 +1,4 @@
-/* { dg-do run } */
+/* { dg-require-effective-target vect_float } */
 /* { dg-additional-options "-Ofast -fno-common" } */
 /* { dg-additional-options "-Ofast -fno-common -mavx" { target avx_runtime } } */
 
Index: gcc/testsuite/gcc.dg/vect/vect-nop-move.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/vect-nop-move.c	(revision 215576)
+++ gcc/testsuite/gcc.dg/vect/vect-nop-move.c	(working copy)
@@ -1,4 +1,3 @@
-/* { dg-do run } */ 
 /* { dg-require-effective-target vect_float } */
 /* { dg-additional-options "-fdump-rtl-combine-details" } */
 
Index: gcc/testsuite/gcc.dg/vect/vect-simd-clone-10.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/vect-simd-clone-10.c	(revision 215576)
+++ gcc/testsuite/gcc.dg/vect/vect-simd-clone-10.c	(working copy)
@@ -1,4 +1,3 @@
-/* { dg-do run } */
 /* { dg-require-effective-target vect_simd_clones } */
 /* { dg-additional-options "-fopenmp-simd" } */
 /* { dg-additional-options "-mavx" { target avx_runtime } } */
Index: gcc/testsuite/gcc.dg/vect/vect-simd-clone-12.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/vect-simd-clone-12.c	(revision 215576)
+++ gcc/testsuite/gcc.dg/vect/vect-simd-clone-12.c	(working copy)
@@ -1,4 +1,3 @@
-/* { dg-do run } */
 /* { dg-require-effective-target vect_simd_clones } */
 /* { dg-additional-options "-fopenmp-simd" } */
 /* { dg-additional-options "-mavx" { target avx_runtime } } */

Reply via email to