diff options
author | Jakub Jelinek <jakub@redhat.com> | 2019-07-06 09:50:44 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2019-07-06 09:50:44 +0200 |
commit | 5d1212877acd3f7a2a6ff23f91dc1a0ed106fdd4 (patch) | |
tree | 3f495840830de71fa7972e9f5c338b2898ff0855 | |
parent | 2dcb0d5b59e05b18694173c4c194bcedc1956ff8 (diff) | |
download | gcc-5d1212877acd3f7a2a6ff23f91dc1a0ed106fdd4.zip gcc-5d1212877acd3f7a2a6ff23f91dc1a0ed106fdd4.tar.gz gcc-5d1212877acd3f7a2a6ff23f91dc1a0ed106fdd4.tar.bz2 |
re PR tree-optimization/91096 (Openmp vector max reduction incorrect)
PR tree-optimization/91096
* gcc.dg/vect/vect-simd-10.c (FLT_MIN_VALUE): Define.
(bar, main): Use it instead of -__builtin_inff ().
* gcc.dg/vect/vect-simd-14.c (FLT_MIN_VALUE): Define.
(bar, main): Use it instead of -__builtin_inff ().
From-SVN: r273156
-rw-r--r-- | gcc/testsuite/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/vect/vect-simd-10.c | 10 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/vect/vect-simd-14.c | 10 |
3 files changed, 24 insertions, 4 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 33645b1..5a848eb 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2019-07-06 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/91096 + * gcc.dg/vect/vect-simd-10.c (FLT_MIN_VALUE): Define. + (bar, main): Use it instead of -__builtin_inff (). + * gcc.dg/vect/vect-simd-14.c (FLT_MIN_VALUE): Define. + (bar, main): Use it instead of -__builtin_inff (). + 2019-07-05 Paolo Carlini <paolo.carlini@oracle.com> PR c++/67184 (again) diff --git a/gcc/testsuite/gcc.dg/vect/vect-simd-10.c b/gcc/testsuite/gcc.dg/vect/vect-simd-10.c index d442d6b..e49566a 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-simd-10.c +++ b/gcc/testsuite/gcc.dg/vect/vect-simd-10.c @@ -7,6 +7,12 @@ #include "tree-vect.h" #endif +#ifdef __FAST_MATH__ +#define FLT_MIN_VALUE (-__FLT_MAX__) +#else +#define FLT_MIN_VALUE (-__builtin_inff ()) +#endif + float r = 1.0f, a[1024], b[1024]; __attribute__((noipa)) void @@ -24,7 +30,7 @@ foo (float *a, float *b) __attribute__((noipa)) float bar (void) { - float s = -__builtin_inff (); + float s = FLT_MIN_VALUE; #pragma omp simd reduction (inscan, max:s) for (int i = 0; i < 1024; i++) { @@ -84,7 +90,7 @@ main () } if (bar () != 592.0f) abort (); - s = -__builtin_inff (); + s = FLT_MIN_VALUE; for (int i = 0; i < 1024; ++i) { if (s < a[i]) diff --git a/gcc/testsuite/gcc.dg/vect/vect-simd-14.c b/gcc/testsuite/gcc.dg/vect/vect-simd-14.c index 43663bb..9e73792 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-simd-14.c +++ b/gcc/testsuite/gcc.dg/vect/vect-simd-14.c @@ -7,6 +7,12 @@ #include "tree-vect.h" #endif +#ifdef __FAST_MATH__ +#define FLT_MIN_VALUE (-__FLT_MAX__) +#else +#define FLT_MIN_VALUE (-__builtin_inff ()) +#endif + float r = 1.0f, a[1024], b[1024]; __attribute__((noipa)) void @@ -24,7 +30,7 @@ foo (float *a, float *b) __attribute__((noipa)) float bar (void) { - float s = -__builtin_inff (); + float s = FLT_MIN_VALUE; #pragma omp simd reduction (inscan, max:s) for (int i = 0; i < 1024; i++) { @@ -82,7 +88,7 @@ main () } if (bar () != 592.0f) abort (); - s = -__builtin_inff (); + s = FLT_MIN_VALUE; for (int i = 0; i < 1024; ++i) { if (b[i] != s) |