[llvm] [X86][GlobalIsel] Add support for G_UMIN/G_UMAX/G_SMIN/G_SMAX (PR #160247)

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 2 02:16:15 PDT 2025


================
@@ -147,6 +147,11 @@ X86LegalizerInfo::X86LegalizerInfo(const X86Subtarget &STI,
         });
   }
 
+  getActionDefinitionsBuilder({G_UMIN, G_UMAX, G_SMIN, G_SMAX})
+      .widenScalarToNextPow2(0, /*Min=*/32)
+      .clampScalar(0, s8, s64)
----------------
RKSimon wrote:

OK - let's try dropping the clamp entirely and leaving it to lower() expansion.

Just FYI - when we come to adding vector legality we'll have to split these opcodes as baseline SSE2 unsigned/signed handling is unbalanced.

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


More information about the llvm-commits mailing list