gcc.target/i386/avx512f-vrndscaless-2.c currently FAILs on Solaris 9/x86
with gas:
FAIL: gcc.target/i386/avx512f-vrndscaless-2.c (test for excess errors)
Excess errors:
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.target/i386/avx512f-vrndscaless-2.
c:21:14: warning: incompatible implicit declaration of built-in function 'floorf
' [enabled by default]
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.target/i386/avx512f-vrndscaless-2.
c:24:14: warning: incompatible implicit declaration of built-in function 'ceilf'
[enabled by default]
The platform lacks C99 support, but this can easily be avoided by using
the builtins instead. The following patch does just that; tested
with the appropriate runtest invocation on i386-pc-solaris2.9 and
x86_64-unknown-linux-gnu.
Ok for mainline?
Rainer
2014-02-05 Rainer Orth <[email protected]>
* gcc.target/i386/avx512f-vrndscaless-2.c (compute_rndscaless):
Use __builtin_floorf, __builtin_ceilf.
# HG changeset patch
# Parent c8a18ca98263f4a2ca4e3e723f9d2b4596b67207
Fix gcc.target/i386/avx512f-vrndscaless-2.c on Solaris 9/x86
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vrndscaless-2.c b/gcc/testsuite/gcc.target/i386/avx512f-vrndscaless-2.c
--- a/gcc/testsuite/gcc.target/i386/avx512f-vrndscaless-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vrndscaless-2.c
@@ -18,10 +18,10 @@ compute_rndscaless (float *s1, float *s2
switch (rc)
{
case _MM_FROUND_FLOOR:
- r[0] = floorf (s2[0] * pow (2, m)) / pow (2, m);
+ r[0] = __builtin_floorf (s2[0] * pow (2, m)) / pow (2, m);
break;
case _MM_FROUND_CEIL:
- r[0] = ceilf (s2[0] * pow (2, m)) / pow (2, m);
+ r[0] = __builtin_ceilf (s2[0] * pow (2, m)) / pow (2, m);
break;
default:
abort ();
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University