On 2025-05-26 19:39:03 +0800, Jackson Helie G wrote:
> In this case (long double xx=0xf.000000000000001p0L;) tcc will lose the
> last 3 digits. If p0 is changed to p-2000, all bits will be 0. However, gcc
> and clang do not have this error. Note that my current hardware system is a
> 16-byte long double type, with 8 bits per byte.

Note that there exist several 16-byte FP formats in practice:
x87 extended precision, double-double (a.k.a. IBM long double),
and binary128; tcc is not concerned by the second one, though.
But 0xf.000000000000001p0L is exactly representable in these
3 formats.

-- 
Vincent Lefèvre <vinc...@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / Pascaline project (LIP, ENS-Lyon)

_______________________________________________
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to