When optimizing vmv.s.x/vmv.v.x's of scalar loads, if VL is known to be
1 then we don't need to perform a stride of x0, and can just do a
regular load.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Paths
| Differential D147609
[RISCV] Use non-strided load if VL=1 for optimized zero stride loads ClosedPublic Authored by luke on Apr 5 2023, 5:47 AM.
Details Summary When optimizing vmv.s.x/vmv.v.x's of scalar loads, if VL is known to be
Diff Detail
Event Timeline
This revision is now accepted and ready to land.Apr 5 2023, 3:46 PM This revision was landed with ongoing or failed builds.Apr 6 2023, 3:22 AM Closed by commit rG5f2145adf9e3: [RISCV] Use non-strided load if VL=1 for optimized zero stride loads (authored by luke). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 511352 llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
|
Could VM_S_X_VL nodes be lowered to non-strided loads with VL=1? Since only the first lane needs to be written to.