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)

Reply via email to