diff options
author | David Malcolm <dmalcolm@redhat.com> | 2021-06-25 19:07:30 -0400 |
---|---|---|
committer | David Malcolm <dmalcolm@redhat.com> | 2021-06-25 19:07:30 -0400 |
commit | 99585d88a090b4c5b7791f7ab62f70eb37b748fa (patch) | |
tree | c60c1ddd11ccc5c91e872a8410eba1b5936aeb08 /gcc | |
parent | 176289e50e3d379b681f8775cdb0230b1e9f50dc (diff) | |
download | gcc-99585d88a090b4c5b7791f7ab62f70eb37b748fa.zip gcc-99585d88a090b4c5b7791f7ab62f70eb37b748fa.tar.gz gcc-99585d88a090b4c5b7791f7ab62f70eb37b748fa.tar.bz2 |
jit: fix test-vector-* failures
Fix failures seen on i686 due to relying on exact floating-point
equality when testing results of vector division.
gcc/testsuite/ChangeLog:
* jit.dg/test-vector-rvalues.cc (check_div): Add specialization
for v4f, to avoid relying on exact floating-point equality.
* jit.dg/test-vector-types.cc (check_div): Likewise.
Signed-off-by: David Malcolm <dmalcolm@redhat.com>
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/jit.dg/test-vector-rvalues.cc | 8 | ||||
-rw-r--r-- | gcc/testsuite/jit.dg/test-vector-types.cc | 8 |
2 files changed, 16 insertions, 0 deletions
diff --git a/gcc/testsuite/jit.dg/test-vector-rvalues.cc b/gcc/testsuite/jit.dg/test-vector-rvalues.cc index ac230bf7..0287711 100644 --- a/gcc/testsuite/jit.dg/test-vector-rvalues.cc +++ b/gcc/testsuite/jit.dg/test-vector-rvalues.cc @@ -165,6 +165,14 @@ check_div (const V &a, const V &b, const V &c) CHECK_VALUE (c[i], a[i] / b[i]); } +template <> +void +check_div<v4f> (const v4f &a, const v4f &b, const v4f &c) +{ + for (int i = 0; i < 4; i++) + CHECK_DOUBLE_VALUE (c[i], a[i] / b[i]); +} + template <typename V, typename E> void verify_vec_code (gcc_jit_context *ctxt, gcc_jit_result *result, diff --git a/gcc/testsuite/jit.dg/test-vector-types.cc b/gcc/testsuite/jit.dg/test-vector-types.cc index 3389e04..1f49be6 100644 --- a/gcc/testsuite/jit.dg/test-vector-types.cc +++ b/gcc/testsuite/jit.dg/test-vector-types.cc @@ -139,6 +139,14 @@ check_div (const T &a, const T &b, const T &c) CHECK_VALUE (c[i], a[i] / b[i]); } +template <> +void +check_div<v4f> (const v4f &a, const v4f &b, const v4f &c) +{ + for (int i = 0; i < 4; i++) + CHECK_DOUBLE_VALUE (c[i], a[i] / b[i]); +} + template <typename T> void verify_vec_code (gcc_jit_context *ctxt, gcc_jit_result *result, |