[llvm] [AMDGPU] Convert 64-bit sra to 32-bit if shift amt >= 32 (PR #144421)
Shilei Tian via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 20 06:01:16 PDT 2025
================
@@ -4151,32 +4151,97 @@ SDValue AMDGPUTargetLowering::performShlCombine(SDNode *N,
SDValue AMDGPUTargetLowering::performSraCombine(SDNode *N,
DAGCombinerInfo &DCI) const {
- if (N->getValueType(0) != MVT::i64)
+ SDValue RHS = N->getOperand(1);
+ ConstantSDNode *CRHS = dyn_cast<ConstantSDNode>(RHS);
+ EVT VT = N->getValueType(0);
+ SDValue LHS = N->getOperand(0);
+ SelectionDAG &DAG = DCI.DAG;
+ SDLoc SL(N);
+
+ if (VT.getScalarType() != MVT::i64)
return SDValue();
- const ConstantSDNode *RHS = dyn_cast<ConstantSDNode>(N->getOperand(1));
- if (!RHS)
+ // for C >= 32
----------------
shiltian wrote:
```suggestion
// For C >= 32
```
https://github.com/llvm/llvm-project/pull/144421
More information about the llvm-commits
mailing list