]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
jit: fix test-vector-* failures
authorDavid Malcolm <dmalcolm@redhat.com>
Fri, 2 Jul 2021 19:19:47 +0000 (15:19 -0400)
committerDavid Malcolm <dmalcolm@redhat.com>
Fri, 2 Jul 2021 19:19:47 +0000 (15:19 -0400)
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>
gcc/testsuite/jit.dg/test-vector-rvalues.cc
gcc/testsuite/jit.dg/test-vector-types.cc

index ac230bf774c3c9055ba334b2f40e202cd7e63a6d..02877114e4a673aedde491ac6df55ef89ea6dcf7 100644 (file)
@@ -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,
index 3389e04a082e70d4edd89fc010c74c76d0bd4d48..1f49be6b59f4498560b0b963a119bd33067fe7c7 100644 (file)
@@ -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,