From 99585d88a090b4c5b7791f7ab62f70eb37b748fa Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Fri, 25 Jun 2021 19:07:30 -0400 Subject: [PATCH] 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 --- 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 ac230bf774c3..02877114e4a6 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 (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 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 3389e04a082e..1f49be6b59f4 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 (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 void verify_vec_code (gcc_jit_context *ctxt, gcc_jit_result *result, -- 2.47.2