[Bug target/91323] LTGT rtx produces UCOMISS instead of COMISS
joseph at codesourcery dot com
gcc-bugzilla@gcc.gnu.org
Fri Aug 2 11:46:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91323
--- Comment #12 from joseph at codesourcery dot com <joseph at codesourcery dot com> ---
On Thu, 1 Aug 2019, ubizjak at gmail dot com wrote:
> It also means that __builtin_islessgreater is confusingly named.
No, __builtin_islessgreater corresponds to the ISO C islessgreater
type-generic macro, which does not raise exceptions for quiet NaN
arguments. If anything is confusingly named it's GCC's internal LTGT
operations, if they don't correspond to islessgreater.
Regarding the confused LTGT (RTL, GENERIC, GIMPLE) semantics, see what I
said in <https://gcc.gnu.org/ml/gcc-patches/2015-02/msg00583.html> (and
elsewhere in that thread).
Whatever we conclude about whether LTGT is (LT || GT) or (!UNEQ), (a) we
should document the choice (so that we then have a basis for telling
whether code involving LTGT is correct or not, based on whether it
corresponds to the documented semantics) and (b) the choice should be the
same for all of RTL, GENERIC and GIMPLE.
More information about the Gcc-bugs
mailing list