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)