[Bug rtl-optimization/82153] missed optimization: double rounding
arjan at linux dot intel.com
gcc-bugzilla@gcc.gnu.org
Fri Sep 8 22:33:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82153
--- Comment #2 from Arjan van de Ven <arjan at linux dot intel.com> ---
When a conversion is inexact, a truncated result is returned. If a converted
result is larger than the maximum signed doubleword integer, the floating-point
invalid exception is raised, and if this exception is masked, the indefinite
integer value (80000000H) is returned.
no exception on truncation...
8: 66 0f 3a 0b c0 0b roundsd $0xb,%xmm0,%xmm0
e: f2 0f 2c c0 cvttsd2si %xmm0,%eax
is what is generated for tunc() (same code otherwise as above)
More information about the Gcc-bugs
mailing list