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

--- Comment #5 from joseph at codesourcery dot com <joseph at codesourcery dot 
com> ---
On Mon, 13 Apr 2015, burnus at gcc dot gnu.org wrote:

> I am not sure about signalling NAN issues, but doesn't it otherwise also apply
> to code like the following? At least in terms of generated assembler, the
> result looks the same.
> 
>   _Bool foo(float x, float y) { return x != x || y != y; }

That's also equivalent in the absence of signaling NaNs (but it won't 
raise invalid if x is a quiet NaN and y signaling, whereas isunordered 
should do so if either is signaling, and the pair of isnan tests shouldn't 
raise invalid at all).  If a non-short-circuit OR were used, it would be 
exactly equivalent to the isunordered call in all cases.

Reply via email to