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

Vineet Gupta <vgupta at synopsys dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |vgupta at synopsys dot com

--- Comment #11 from Vineet Gupta <vgupta at synopsys dot com> ---
ARC gcc backend suffers from this and I've created
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92845 and also a tentative fix
which passes gcc.dg/torture/pr52451.c 

However I'm curious that the test uses qNaN. What is the expected behavior for
sNaN. If you tweak the testcase  slightly as follows:

diff --git a/gcc/testsuite/gcc.dg/torture/pr52451.c
b/gcc/testsuite/gcc.dg/torture/pr52451.c

-  volatile TYPE nan##S = __builtin_nan##S ("");        \
+  volatile TYPE nan##S = __builtin_nans##S ("");       \

With that even on ARM (RPI3) it now fails for the "quite" C operations "==" and
"!=" and isless(),isgreater(),islessequal(),isgreaterequal().

Is that expected, OK ? I guess there's no easy to fix this unless hardware
supports the 3 varaints or glibc code has a way to clear exception in certain
cases.

Reply via email to