[llvm] e173631 - [X86][AVX] SimplifyDemandedVectorEltsForTargetNode - use getBROADCAST_LOAD helper. NFCI.
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 2 07:07:38 PDT 2021
Author: Simon Pilgrim
Date: 2021-11-02T14:07:22Z
New Revision: e173631dd1f17f8f26ae84079bc059df2e633eb1
URL: https://github.com/llvm/llvm-project/commit/e173631dd1f17f8f26ae84079bc059df2e633eb1
DIFF: https://github.com/llvm/llvm-project/commit/e173631dd1f17f8f26ae84079bc059df2e633eb1.diff
LOG: [X86][AVX] SimplifyDemandedVectorEltsForTargetNode - use getBROADCAST_LOAD helper. NFCI.
Reduce width of X86ISD::SUBV_BROADCAST_LOAD node.
Added:
Modified:
llvm/lib/Target/X86/X86ISelLowering.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 0f71dbda120f..26ea0d59a2f4 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -40122,15 +40122,11 @@ bool X86TargetLowering::SimplifyDemandedVectorEltsForTargetNode(
SDLoc DL(Op);
EVT BcstVT = EVT::getVectorVT(*TLO.DAG.getContext(), VT.getScalarType(),
ExtSizeInBits / VT.getScalarSizeInBits());
- SDVTList Tys = TLO.DAG.getVTList(BcstVT, MVT::Other);
- SDValue Ops[] = {MemIntr->getOperand(0), MemIntr->getOperand(1)};
- SDValue Bcst =
- TLO.DAG.getMemIntrinsicNode(X86ISD::SUBV_BROADCAST_LOAD, DL, Tys,
- Ops, MemVT, MemIntr->getMemOperand());
- TLO.DAG.makeEquivalentMemoryOrdering(SDValue(MemIntr, 1),
- Bcst.getValue(1));
- return TLO.CombineTo(Op, insertSubVector(TLO.DAG.getUNDEF(VT), Bcst, 0,
- TLO.DAG, DL, ExtSizeInBits));
+ if (SDValue BcstLd =
+ getBROADCAST_LOAD(Opc, DL, BcstVT, MemVT, MemIntr, 0, TLO.DAG))
+ return TLO.CombineTo(Op,
+ insertSubVector(TLO.DAG.getUNDEF(VT), BcstLd, 0,
+ TLO.DAG, DL, ExtSizeInBits));
}
break;
}
More information about the llvm-commits
mailing list