[llvm] [InstSimplify] Optimize maximumnum and minimumnum (PR #139581)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue May 13 06:48:39 PDT 2025


================
@@ -6741,15 +6741,14 @@ Value *llvm::simplifyBinaryIntrinsic(Intrinsic::ID IID, Type *ReturnType,
 
     // minnum(x, qnan) -> x
     // maxnum(x, qnan) -> x
-    // minnum(x, snan) -> qnan
-    // maxnum(x, snan) -> qnan
+    // minnum(x, snan) -> qnan (or x for vectors mixing snans and qnans)
+    // maxnum(x, snan) -> qnan (or x for vectors mixing snans and qnans)
----------------
arsenm wrote:

This is just documenting a bug, you can't rely on the simple matcher. Either use m_APFloat and check if it's a splat quiet or signaling nan, or you have to do the complicated handling to process this per element 

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


More information about the llvm-commits mailing list