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