Page MenuHomePhabricator

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

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

Diff Detail

Unit TestsFailed

TimeTest
60,620 msx64 debian > Clang.CodeGen/RISCV/rvv-intrinsics::vloxseg_mask.c
Script: -- : 'RUN: at line 3'; /var/lib/buildkite-agent/builds/llvm-project/build/bin/clang -cc1 -internal-isystem /var/lib/buildkite-agent/builds/llvm-project/build/lib/clang/15.0.0/include -nostdsysteminc -triple riscv64 -target-feature +f -target-feature +d -target-feature +zfh -target-feature +v -disable-O0-optnone -emit-llvm /var/lib/buildkite-agent/builds/llvm-project/clang/test/CodeGen/RISCV/rvv-intrinsics/vloxseg_mask.c -o - | /var/lib/buildkite-agent/builds/llvm-project/build/bin/opt -S -mem2reg | /var/lib/buildkite-agent/builds/llvm-project/build/bin/FileCheck --check-prefix=CHECK-RV64 /var/lib/buildkite-agent/builds/llvm-project/clang/test/CodeGen/RISCV/rvv-intrinsics/vloxseg_mask.c
60,760 msx64 debian > Clang.CodeGen/RISCV/rvv-intrinsics::vluxseg_mask.c
Script: -- : 'RUN: at line 3'; /var/lib/buildkite-agent/builds/llvm-project/build/bin/clang -cc1 -internal-isystem /var/lib/buildkite-agent/builds/llvm-project/build/lib/clang/15.0.0/include -nostdsysteminc -triple riscv64 -target-feature +f -target-feature +d -target-feature +zfh -target-feature +v -disable-O0-optnone -emit-llvm /var/lib/buildkite-agent/builds/llvm-project/clang/test/CodeGen/RISCV/rvv-intrinsics/vluxseg_mask.c -o - | /var/lib/buildkite-agent/builds/llvm-project/build/bin/opt -S -mem2reg | /var/lib/buildkite-agent/builds/llvm-project/build/bin/FileCheck --check-prefix=CHECK-RV64 /var/lib/buildkite-agent/builds/llvm-project/clang/test/CodeGen/RISCV/rvv-intrinsics/vluxseg_mask.c
60,750 msx64 debian > Clang.CodeGen/RISCV/rvv-intrinsics-overloaded::vluxseg_mask.c
Script: -- : 'RUN: at line 3'; /var/lib/buildkite-agent/builds/llvm-project/build/bin/clang -cc1 -internal-isystem /var/lib/buildkite-agent/builds/llvm-project/build/lib/clang/15.0.0/include -nostdsysteminc -triple riscv64 -target-feature +f -target-feature +d -target-feature +v -disable-O0-optnone -emit-llvm /var/lib/buildkite-agent/builds/llvm-project/clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vluxseg_mask.c -o - | /var/lib/buildkite-agent/builds/llvm-project/build/bin/opt -S -mem2reg | /var/lib/buildkite-agent/builds/llvm-project/build/bin/FileCheck --check-prefix=CHECK-RV64 /var/lib/buildkite-agent/builds/llvm-project/clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vluxseg_mask.c

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
6099

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
146

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
484

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.