aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2020-08-26 17:12:07 -0600
committerJeff Law <law@redhat.com>2020-08-26 17:12:07 -0600
commit07545fbd2dfa2351218a5be6488dc5067258d980 (patch)
tree7f96a3a378241b9757166b5700426f592fc822e2
parent8ca43e4ea58ae436af4b5818916abc15b2fd8f49 (diff)
downloadgcc-07545fbd2dfa2351218a5be6488dc5067258d980.zip
gcc-07545fbd2dfa2351218a5be6488dc5067258d980.tar.gz
gcc-07545fbd2dfa2351218a5be6488dc5067258d980.tar.bz2
Mark various tests that require a c99 libm
A number of i386 math optimisation tests are looking assembly instructions that are only emitted when the compiler knows the target has a C99 libm available. Since targets like *-elf may not have such a libm, a C99 runtime requirement is added to these tests. gcc/testsuite/ChangeLog * gcc.target/i386/387-7.c: Add dg-require-effective-target c99_runtime. * gcc.target/i386/387-9.c: Likewise. * g++.target/i386/avx512bw-pr96246-1.C: Likewise. * gcc.target/i386/avx512f-rint-sfix-vec-2.c: Likewise. * gcc.target/i386/avx512f-rintf-sfix-vec-2.c: Likewise. * g++.target/i386/avx512vl-pr96246-1.C: Likewise. * gcc.target/i386/pr61403.c: Likewise. * gcc.target/i386/sse4_1-ceil-sfix-vec.c: Likewise. * gcc.target/i386/sse4_1-ceilf-sfix-vec.c: Likewise. * gcc.target/i386/sse4_1-floor-sfix-vec.c: Likewise. * gcc.target/i386/sse4_1-floorf-sfix-vec.c: Likewise. * gcc.target/i386/sse4_1-rint-sfix-vec.c: Likewise. * gcc.target/i386/sse4_1-rintf-sfix-vec.c: Likewise. * gcc.target/i386/sse4_1-round-sfix-vec.c: Likewise. * gcc.target/i386/sse4_1-roundf-sfix-vec.c: Likewise.
-rw-r--r--gcc/testsuite/g++.target/i386/avx512bw-pr96246-1.C1
-rw-r--r--gcc/testsuite/g++.target/i386/avx512vl-pr96246-1.C1
-rw-r--r--gcc/testsuite/gcc.target/i386/387-7.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/387-9.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-rint-sfix-vec-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-rintf-sfix-vec-2.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/pr61403.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_1-ceil-sfix-vec.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_1-ceilf-sfix-vec.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_1-floor-sfix-vec.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_1-floorf-sfix-vec.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_1-rint-sfix-vec.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_1-rintf-sfix-vec.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_1-round-sfix-vec.c1
-rw-r--r--gcc/testsuite/gcc.target/i386/sse4_1-roundf-sfix-vec.c1
15 files changed, 15 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.target/i386/avx512bw-pr96246-1.C b/gcc/testsuite/g++.target/i386/avx512bw-pr96246-1.C
index eec8444..1577c9e 100644
--- a/gcc/testsuite/g++.target/i386/avx512bw-pr96246-1.C
+++ b/gcc/testsuite/g++.target/i386/avx512bw-pr96246-1.C
@@ -1,6 +1,7 @@
/* PR target/96246 */
/* { dg-do compile } */
/* { dg-options "-O2 -std=c++14 -mavx512bw" } */
+/* { dg-require-effective-target c99_runtime } */
/* { dg-final { scan-assembler-times "vpblendm\[bwdq\]\[\t \]" 4 } } */
/* { dg-final { scan-assembler-times "vblendmp\[sd\]\[\t \]" 2 } } */
diff --git a/gcc/testsuite/g++.target/i386/avx512vl-pr96246-1.C b/gcc/testsuite/g++.target/i386/avx512vl-pr96246-1.C
index 66eb9d2..66861f4 100644
--- a/gcc/testsuite/g++.target/i386/avx512vl-pr96246-1.C
+++ b/gcc/testsuite/g++.target/i386/avx512vl-pr96246-1.C
@@ -1,6 +1,7 @@
/* PR target/96246 */
/* { dg-do compile } */
/* { dg-options "-O2 -std=c++14 -mavx512bw -mavx512vl" } */
+/* { dg-require-effective-target c99_runtime } */
/* { dg-final { scan-assembler-times "vpblendm\[bwdq\]\[\t \]" 6 } } */
/* { dg-final { scan-assembler-times "vblendmp\[sd\]\[\t \]" 3 } } */
diff --git a/gcc/testsuite/gcc.target/i386/387-7.c b/gcc/testsuite/gcc.target/i386/387-7.c
index e01ed2e..3c1ad60 100644
--- a/gcc/testsuite/gcc.target/i386/387-7.c
+++ b/gcc/testsuite/gcc.target/i386/387-7.c
@@ -1,6 +1,7 @@
/* Verify that 387 fsincos instruction is generated. */
/* { dg-do compile } */
/* { dg-options "-O -ffast-math -mfpmath=387 -mfancy-math-387" } */
+/* { dg-require-effective-target c99_runtime } */
/* { dg-final { scan-assembler "fsincos" } } */
extern double sin (double);
diff --git a/gcc/testsuite/gcc.target/i386/387-9.c b/gcc/testsuite/gcc.target/i386/387-9.c
index 2667aa4..469c635 100644
--- a/gcc/testsuite/gcc.target/i386/387-9.c
+++ b/gcc/testsuite/gcc.target/i386/387-9.c
@@ -1,6 +1,7 @@
/* Verify that 387 fsincos instruction is generated. */
/* { dg-do compile } */
/* { dg-options "-O -funsafe-math-optimizations -mfpmath=387 -mfancy-math-387" } */
+/* { dg-require-effective-target c99_runtime } */
extern double sin (double);
extern double cos (double);
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-rint-sfix-vec-2.c b/gcc/testsuite/gcc.target/i386/avx512f-rint-sfix-vec-2.c
index c3f78ac..2d2099f 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-rint-sfix-vec-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-rint-sfix-vec-2.c
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -ffast-math -ftree-vectorize -mavx512f" } */
+/* { dg-require-effective-target c99_runtime } */
#include "avx512f-rint-sfix-vec-1.c"
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-rintf-sfix-vec-2.c b/gcc/testsuite/gcc.target/i386/avx512f-rintf-sfix-vec-2.c
index c172e61..fe47376 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-rintf-sfix-vec-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-rintf-sfix-vec-2.c
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -ffast-math -ftree-vectorize -mavx512f" } */
+/* { dg-require-effective-target c99_runtime } */
#include "avx512f-rintf-sfix-vec-1.c"
diff --git a/gcc/testsuite/gcc.target/i386/pr61403.c b/gcc/testsuite/gcc.target/i386/pr61403.c
index 38ba4a1..48c7ba6 100644
--- a/gcc/testsuite/gcc.target/i386/pr61403.c
+++ b/gcc/testsuite/gcc.target/i386/pr61403.c
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.2 -mtune=corei7" } */
+/* { dg-require-effective-target c99_runtime } */
#include <math.h>
diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-ceil-sfix-vec.c b/gcc/testsuite/gcc.target/i386/sse4_1-ceil-sfix-vec.c
index 6250906..4522f32 100644
--- a/gcc/testsuite/gcc.target/i386/sse4_1-ceil-sfix-vec.c
+++ b/gcc/testsuite/gcc.target/i386/sse4_1-ceil-sfix-vec.c
@@ -1,6 +1,7 @@
/* { dg-do run } */
/* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */
/* { dg-require-effective-target sse4 } */
+/* { dg-require-effective-target c99_runtime } */
#ifndef CHECK_H
#define CHECK_H "sse4_1-check.h"
diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-ceilf-sfix-vec.c b/gcc/testsuite/gcc.target/i386/sse4_1-ceilf-sfix-vec.c
index c4ccad1..9f11e11 100644
--- a/gcc/testsuite/gcc.target/i386/sse4_1-ceilf-sfix-vec.c
+++ b/gcc/testsuite/gcc.target/i386/sse4_1-ceilf-sfix-vec.c
@@ -1,6 +1,7 @@
/* { dg-do run } */
/* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */
/* { dg-require-effective-target sse4 } */
+/* { dg-require-effective-target c99_runtime } */
#ifndef CHECK_H
#define CHECK_H "sse4_1-check.h"
diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-floor-sfix-vec.c b/gcc/testsuite/gcc.target/i386/sse4_1-floor-sfix-vec.c
index 89ce331..5404f76 100644
--- a/gcc/testsuite/gcc.target/i386/sse4_1-floor-sfix-vec.c
+++ b/gcc/testsuite/gcc.target/i386/sse4_1-floor-sfix-vec.c
@@ -1,6 +1,7 @@
/* { dg-do run } */
/* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */
/* { dg-require-effective-target sse4 } */
+/* { dg-require-effective-target c99_runtime } */
#ifndef CHECK_H
#define CHECK_H "sse4_1-check.h"
diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-floorf-sfix-vec.c b/gcc/testsuite/gcc.target/i386/sse4_1-floorf-sfix-vec.c
index b191236..d846076 100644
--- a/gcc/testsuite/gcc.target/i386/sse4_1-floorf-sfix-vec.c
+++ b/gcc/testsuite/gcc.target/i386/sse4_1-floorf-sfix-vec.c
@@ -1,6 +1,7 @@
/* { dg-do run } */
/* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */
/* { dg-require-effective-target sse4 } */
+/* { dg-require-effective-target c99_runtime } */
#ifndef CHECK_H
#define CHECK_H "sse4_1-check.h"
diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-rint-sfix-vec.c b/gcc/testsuite/gcc.target/i386/sse4_1-rint-sfix-vec.c
index c82c353..5932943 100644
--- a/gcc/testsuite/gcc.target/i386/sse4_1-rint-sfix-vec.c
+++ b/gcc/testsuite/gcc.target/i386/sse4_1-rint-sfix-vec.c
@@ -1,6 +1,7 @@
/* { dg-do run } */
/* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */
/* { dg-require-effective-target sse4 } */
+/* { dg-require-effective-target c99_runtime } */
#ifndef CHECK_H
#define CHECK_H "sse4_1-check.h"
diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-rintf-sfix-vec.c b/gcc/testsuite/gcc.target/i386/sse4_1-rintf-sfix-vec.c
index 5188d4b..3bfbb25 100644
--- a/gcc/testsuite/gcc.target/i386/sse4_1-rintf-sfix-vec.c
+++ b/gcc/testsuite/gcc.target/i386/sse4_1-rintf-sfix-vec.c
@@ -1,6 +1,7 @@
/* { dg-do run } */
/* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */
/* { dg-require-effective-target sse4 } */
+/* { dg-require-effective-target c99_runtime } */
#ifndef CHECK_H
#define CHECK_H "sse4_1-check.h"
diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-round-sfix-vec.c b/gcc/testsuite/gcc.target/i386/sse4_1-round-sfix-vec.c
index 96b8dca..782077f 100644
--- a/gcc/testsuite/gcc.target/i386/sse4_1-round-sfix-vec.c
+++ b/gcc/testsuite/gcc.target/i386/sse4_1-round-sfix-vec.c
@@ -1,6 +1,7 @@
/* { dg-do run } */
/* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */
/* { dg-require-effective-target sse4 } */
+/* { dg-require-effective-target c99_runtime } */
#ifndef CHECK_H
#define CHECK_H "sse4_1-check.h"
diff --git a/gcc/testsuite/gcc.target/i386/sse4_1-roundf-sfix-vec.c b/gcc/testsuite/gcc.target/i386/sse4_1-roundf-sfix-vec.c
index 1416dc9..9f1efcf 100644
--- a/gcc/testsuite/gcc.target/i386/sse4_1-roundf-sfix-vec.c
+++ b/gcc/testsuite/gcc.target/i386/sse4_1-roundf-sfix-vec.c
@@ -1,6 +1,7 @@
/* { dg-do run } */
/* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.1" } */
/* { dg-require-effective-target sse4 } */
+/* { dg-require-effective-target c99_runtime } */
#ifndef CHECK_H
#define CHECK_H "sse4_1-check.h"