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