On Tue, Oct 2, 2018 at 7:23 PM Kito Cheng <kito.ch...@gmail.com> wrote:
> This patch is fixing the wrong behavior for unordered float compare
> for Signaling NaN, current implementation will suppress the FP
> exception flags unconditionally, however signaling NaN should signal
> an exception according IEEE 754-2008 spec.

This looks related to
https://github.com/riscv/riscv-gcc/pull/119

That change wasn't committed at the time because it reduces
performance for everyone, even though only a few people depend on the
exact semantics the patch provides.  One possible solution to that is
to add a -mieee option for people that want better IEEE conformance at
the expense of performance, and then enable the extra features with
-mieee.  A few other ports already have various -mieee* options.

IEEE 754 doesn't specify how C language operators work.  My
understanding is that the RISC-V hardware and gcc port is implementing
all required features of IEEE fp as per the ISO C standard, but that
the glibc testsuite requires that some optional features be
implemented and we are missing these optional features.  So there is a
tradeoff here, as to how to implement the optional features that few
people need without hurting performance for most people that don't
need them.

I can look at your patches tomorrow.

Jim

Reply via email to