[llvm] [X86][SelectionDAG] Fix the Gather's base and index by modifying the Scale value (PR #137813)

Rohit Aggarwal via llvm-commits llvm-commits at lists.llvm.org
Mon May 12 06:57:46 PDT 2025


================
@@ -56652,31 +56652,81 @@ static SDValue combineGatherScatter(SDNode *N, SelectionDAG &DAG,
   const TargetLowering &TLI = DAG.getTargetLoweringInfo();
 
   if (DCI.isBeforeLegalize()) {
+    // Attempt to move shifted index into the address scale, allows further
+    // index truncation below.
+    if (Index.getOpcode() == ISD::SHL && isa<ConstantSDNode>(Scale)) {
+      unsigned BitWidth = Index.getScalarValueSizeInBits();
----------------
rohitaggarwal007 wrote:

Done

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


More information about the llvm-commits mailing list