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

--- Comment #3 from kong lingling <lingling.kong7 at gmail dot com> ---
(In reply to Jakub Jelinek from comment #1)
> Has the definition of these intrinsics changed over time?
  Yes, intrinsic `_mm_comieq_ss ` old operation is `RETURN ( a[31:0] == b[31:0]
) ? 1 : 0`, and new operation update is `RETURN ( a[31:0] != NaN AND b[31:0] !=
NaN AND a[31:0] == b[31:0] ) ? 1 : 0`.
> Because e.g. clang up to 3.8.1 also matches gcc behavior of testing LTGT for
> the *neq* and UNEQ for *eq* intrinsics.
> Note, changing all UNEQ to EQ and LTGT to NE in the COMI section of
> i386-builtin.def doesn't do the trick.

Reply via email to