https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103973

Hongtao.liu <crazylht at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |crazylht at gmail dot com

--- Comment #1 from Hongtao.liu <crazylht at gmail dot com> ---
(In reply to Ivan from comment #0)
> Hello, I may be missing something here but the generated code seems strange
> and suboptimal. It looks like all 4 possible paths can use flags from a
> single UCOMISD instruction, not calling it 3 times in worst case.
There're also COMISD which is defferent from UCOMISD as

---cut from intel sdm---------
The UCOMISD instruction differs from the COMISD instruction in that it signals
a SIMD floating-point invalid oper-
ation exception (#I) only when a source operand is an SNaN. The COMISD
instruction signals an invalid operation
exception only if a source operand is either an SNaN or a QNaN.
----cut end---------------------

And they're different in GCC rtl representation, that's why CSE doesn't helps
here.

Reply via email to