This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/81647] inconsistent LTGT behavior at different optimization levels on AArch64.


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

Wilco <wilco at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |wilco at gcc dot gnu.org

--- Comment #6 from Wilco <wilco at gcc dot gnu.org> ---
(In reply to Steve Ellcey from comment #5)
> Looking at the code and the aarch64 documentation, the non-vectorized
> version does the comparisons with fcmp which is defined as a "quiet compare"
> and only generates an exception for signaling NANs.  The vectorized version
> uses fcmgt and that is defined to raise exceptions.  I am not sure what GCC
> can do here other than manually clear the exceptions that fcmgt raised (Yuk).

Well with -ftrapping-math or -fno-finite-math-only we should emit:

(cmeq(a,a) & cmeq(b,b)) & ~cmeq(a,b)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]