[llvm] [AMDGPU][SDAG] Support source modifiers as integer on select (PR #147325)

Janek van Oirschot via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 7 09:21:49 PDT 2025


================
@@ -4864,12 +4923,25 @@ SDValue AMDGPUTargetLowering::performSelectCombine(SDNode *N,
     }
 
     if (VT == MVT::f32 && Subtarget->hasFminFmaxLegacy()) {
-      SDValue MinMax
-        = combineFMinMaxLegacy(SDLoc(N), VT, LHS, RHS, True, False, CC, DCI);
+      SDValue MinMax =
+          combineFMinMaxLegacy(SDLoc(N), VT, LHS, RHS, True, False, CC, DCI);
       // Revisit this node so we can catch min3/max3/med3 patterns.
-      //DCI.AddToWorklist(MinMax.getNode());
+      // DCI.AddToWorklist(MinMax.getNode());
       return MinMax;
     }
+
+    // Support source modifiers as integer.
+    if (VT == MVT::i32 || VT == MVT::v2i32 || VT == MVT::i64) {
+      SDLoc SL(N);
+      SDValue LHS = N->getOperand(1);
+      SDValue RHS = N->getOperand(2);
----------------
JanekvO wrote:

The operands are already retrieved through `SDValue True` and `SDValue False`

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


More information about the llvm-commits mailing list