[llvm] [SystemZ] Mark fminimumnum/fmaximumnum as legal (PR #184595)

Ulrich Weigand via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 4 07:57:23 PST 2026


uweigand wrote:

My understanding is that

- mode M=0 matches IEEE 754-2008 `minNum`
- mode M=1 matches IEEE 754-2019 `minimum`
- mode M=4 _mostly_ matches IEEE 754-2019 `minimumNumber`

The only difference between our mode M=4 and `minimumNumber` is that M=4 may return an input SNaN as-is, without changing it to the corresponding QNaN.  We do not have a mode that matches `minimumNumber` precisely.   Does this matter, given that this is a non-strict IR opcode?  (Should there be a strict variant?)

However, I keep being confused by what exactly the various LLVM IR nodes are supposed to correspond to.  Does `STRICT_FMINNUM` actually implement the IEEE 754-2008 variant exactly?  This is not clear to me from the current documentation; it seems there have been several attempts at "clarification" recently that were reverted again?

https://github.com/llvm/llvm-project/pull/184595


More information about the llvm-commits mailing list