summaryrefslogtreecommitdiffstats
path: root/compiler-rt
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2019-05-08 15:50:21 +0000
committerNico Weber <nicolasweber@gmx.de>2019-05-08 15:50:21 +0000
commita3ff5727b78f1beeeee7484174ef86e48d35bd5c (patch)
treeb1d323c07898e32e41d9eddddd92726c213a651b /compiler-rt
parente3eec06ddeac74dde579f0e157034104e67d355e (diff)
downloadbcm5719-llvm-a3ff5727b78f1beeeee7484174ef86e48d35bd5c.tar.gz
bcm5719-llvm-a3ff5727b78f1beeeee7484174ef86e48d35bd5c.zip
[compiler-rt] Make builtins test pass when using i386 gcc as host compiler
Just-built-clang is used to compile the test, but the library is built with gcc, so the usual 80-bit FPU vs 32-bit SSE mismatch makes the floating computations not bitwise identical. Fixes PR32910, see there for details. This uses the same technique used in all the other *c3* tests, see in particular mulsc3_test.c. (It might be cleaner to add compareResultCF to fp_test.h to force the floats into 32-bit in memory, but this is the less invasive fix.) Differential Revision: https://reviews.llvm.org/D61684 llvm-svn: 360264
Diffstat (limited to 'compiler-rt')
-rw-r--r--compiler-rt/test/builtins/Unit/divsc3_test.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler-rt/test/builtins/Unit/divsc3_test.c b/compiler-rt/test/builtins/Unit/divsc3_test.c
index f9ad42abcdf..5781cff4773 100644
--- a/compiler-rt/test/builtins/Unit/divsc3_test.c
+++ b/compiler-rt/test/builtins/Unit/divsc3_test.c
@@ -102,7 +102,7 @@ int test__divsc3(float a, float b, float c, float d)
{
float _Complex z = (a * c + b * d) / (c * c + d * d)
+ (b * c - a * d) / (c * c + d * d) * _Complex_I;
- if (r != z)
+ if (cabsf((r-z)/r) > 1.e-6)
return 1;
}
break;
OpenPOWER on IntegriCloud