Hello, On Fri, 6 Aug 2021, Stefan Kanthak wrote:
> For -ffast-math, where the sign of -0.0 is not handled and the spurios > invalid floating-point exception for |argument| >= 2**63 is acceptable, This claim would need to be proven in the wild. |argument| > 2**52 are already integer, and shouldn't generate a spurious exception from the various to-int conversions, not even in fast-math mode for some relevant set of applications (at least SPECcpu). Btw, have you made speed measurements with your improvements? The size improvements are obvious, but speed changes can be fairly unintuitive, e.g. there were old K8 CPUs where the memory loads for constants are actually faster than the equivalent sequence of shifting and masking for the >= compares. That's an irrelevant CPU now, but it shows that intuition about speed consequences can be wrong. Ciao, Michael.