Fix failures seen on i686 due to relying on exact floating-point equality when testing results of vector division.
Successfully regrtested on x86_64-pc-linux-gnu. Pushed to trunk as 99585d88a090b4c5b7791f7ab62f70eb37b748fa. 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 <dmalc...@redhat.com> --- gcc/testsuite/jit.dg/test-vector-rvalues.cc | 8 ++++++++ gcc/testsuite/jit.dg/test-vector-types.cc | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/gcc/testsuite/jit.dg/test-vector-rvalues.cc b/gcc/testsuite/jit.dg/test-vector-rvalues.cc index ac230bf774c..02877114e4a 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 3389e04a082..1f49be6b59f 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, -- 2.26.3