This is an archive of the discontinued LLVM Phabricator instance.

[RISCV][VP] Custom lower VP_STRIDED_LOAD and VP_STRIDED_STORE
ClosedPublic

Authored by loralb on Mar 7 2022, 7:01 AM.

Diff Detail

Event Timeline

loralb created this revision.Mar 7 2022, 7:01 AM
loralb requested review of this revision.Mar 7 2022, 7:01 AM
craig.topper added inline comments.Mar 7 2022, 10:27 AM
llvm/lib/Target/RISCV/RISCVISelLowering.cpp
476

Why do we need to Custom legalize the narrow scalar types? Shouldn't they be promoted by generic type legalization PromoteIntOp?

craig.topper added inline comments.Mar 7 2022, 1:49 PM
llvm/lib/Target/RISCV/RISCVISelLowering.cpp
6093

Should we be using INTRINSIC_W_CHAIN and intrinsic_riscv_vlse/vlse_mask similar to what we do for other VP load/store?

loralb updated this revision to Diff 413874.Mar 8 2022, 10:51 AM
loralb edited the summary of this revision. (Show Details)

Changelog:

  • Remove unnecessary custom legalization of narrow scalar types
  • Do not add new RISCVISD nodes, use existing intrinsics instead
craig.topper added inline comments.Mar 9 2022, 1:33 PM
llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
145

Use poison instead of undef

loralb updated this revision to Diff 415739.Mar 16 2022, 2:06 AM

Changelog:

  • Address review comment
loralb marked 3 inline comments as done.Mar 16 2022, 2:06 AM
craig.topper added inline comments.Mar 17 2022, 11:08 AM
llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
26

This should have ".i32" on the end of the intrinsic name. Same for all of the intrinsics with i32 stride.

craig.topper added inline comments.Mar 21 2022, 11:50 AM
llvm/lib/Target/RISCV/RISCVISelLowering.cpp
478

Why do we need custom legalization for i32 on rv64? Shouldn't we have a generic PromoteIntOp for this?

loralb updated this revision to Diff 420465.Apr 5 2022, 5:33 AM

Changelog:

  • Address review comments

I added a new parent revision: D123112.

loralb marked 2 inline comments as done.Apr 12 2022, 5:52 AM
loralb updated this revision to Diff 446104.Jul 20 2022, 4:05 AM

Changelog:

  • Rebase
This revision is now accepted and ready to land.Jul 21 2022, 12:15 PM
loralb added a comment.Aug 1 2022, 3:14 AM

I do not have commit rights, may I ask you to commit this for me? @craig.topper

This revision was landed with ongoing or failed builds.Aug 1 2022, 9:24 AM
This revision was automatically updated to reflect the committed changes.