This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug math/22902] float128 test failures with GCC 8


https://sourceware.org/bugzilla/show_bug.cgi?id=22902

--- Comment #7 from joseph at codesourcery dot com <joseph at codesourcery dot com> ---
The optimized floating-point state handling in fenv_private.h needs to 
know which floating-point state - x87 or SSE - is used for each 
floating-point type, so that only one state needs updating / testing for 
libm code using that state internally.

It seems that the state used by libgcc for float128 cannot be determined 
from predefines available when glibc is built, because when glibc is 
built for 32-bit with SSE math enabled, libgcc might or might not have 
been built that way, and the way libgcc was built affects which state is 
used for float128.  Indeed, it would also be possible for libgcc to be 
built with SSE math but glibc without.

Thus, this indicates that the optimized functions cannot be used for 
float128 for 32-bit x86.  Instead, libc_feholdexcept_setroundf128 and 
libc_feupdateenv_testf128 should, I suppose, be defined to 
default_libc_feholdexcept_setround and default_libc_feupdateenv_test for 
32-bit x86, if that works to fix this issue.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]