GCC: Investigate and fix what's missing for _Float128
support
#240
Labels
enhancement
New feature or request
_Float128
support
#240
Windows-on-ARM-Experiments/gcc-woarm64#3 changes definition of
long double
from 128bit to 64bit to be aligned with Clang and MSVC for aarch64 on Windows. After that 128bit float number is available as_Float128
but not everything that is working onaarch64-linux-gnu
is working onaarch64-w64-minw32
What works:
Q
works for defining 128bit numbers, e.g._Float128 e_contant = 2.718281828459045235360287471352662498Q
What doesn't work (not sure if all should work but these mostly work with
aarch64-linux-gnu
target):F128
doesn't work for defining 128bit numbersQ
length modifier inprintf
doesn't work (afaik this is gcc's extension, standard doesn't specify this: https://en.cppreference.com/w/c/io/fprintf, page 288 of https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf)strfromf128
standard function for converting 128bit floats to string isn't availablestd::cout << 2.7182Q << std::endl
doesn't workSources: https://cpufun.substack.com/p/portable-support-for-128b-floats
Older branch which was enabling _Float128: https://github.com/Windows-on-ARM-Experiments/gcc-woarm64/tree/float128
The text was updated successfully, but these errors were encountered: