[PATCH] D143074: [LangRef] improve documentation of SNaN in the default FP environment

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 1 08:29:10 PST 2023


spatel added a comment.

In D143074#4096770 <https://reviews.llvm.org/D143074#4096770>, @RalfJung wrote:

> "undefined" is a dangerous word. I hope you didn't mean that it is literally `undef`.

I think that is how it would be specified in Alive2 terminology, but I'm happy to avoid the controversy if possible!

> Also, it's not exceptions that are cleared, it's the sNaN bit, right?

The signaling bit of SNaN is set (not cleared) to make a QNaN (although the spec was vague enough that at least one target implemented it backwards in hardware).
IEEE says:
"Signaling NaNs shall be reserved operands that, under default exception handling, signal the invalid operation exception"
...so I was trying to make it explicit that none of it matters. But I'm trying to write as little as possible about IEEE-754 exceptions, and still make it clear what optimizations are allowed/expected. :)


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D143074/new/

https://reviews.llvm.org/D143074



More information about the llvm-commits mailing list