Skip to content

Commit

Permalink
[RISCV] Use unordered indexed loads for MGATHER.
Browse files Browse the repository at this point in the history
I don't think the semantics of the llvm masked gather intrinsic care
about the order the elements are loaded. For example, type legalization
by splitting will chain them in parallel. This is different than
scatter which we do chain in order.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D106025
  • Loading branch information
topperc committed Jul 20, 2021
1 parent 4272e64 commit 84877a0
Show file tree
Hide file tree
Showing 3 changed files with 379 additions and 379 deletions.
2 changes: 1 addition & 1 deletion llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Expand Up @@ -4541,7 +4541,7 @@ SDValue RISCVTargetLowering::lowerMGATHER(SDValue Op, SelectionDAG &DAG) const {
VL = DAG.getRegister(RISCV::X0, XLenVT);

unsigned IntID =
IsUnmasked ? Intrinsic::riscv_vloxei : Intrinsic::riscv_vloxei_mask;
IsUnmasked ? Intrinsic::riscv_vluxei : Intrinsic::riscv_vluxei_mask;
SmallVector<SDValue, 8> Ops{MGN->getChain(),
DAG.getTargetConstant(IntID, DL, XLenVT)};
if (!IsUnmasked)
Expand Down

0 comments on commit 84877a0

Please sign in to comment.