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)