Page MenuHomePhabricator

[RISCV] Optimize vp.store with an all ones mask to avoid a vmset.
ClosedPublic

Authored by craig.topper on Sep 21 2021, 3:55 PM.

Details

Summary

We can use riscv_vse intrinsic instead of riscv_vse_mask. The code here
is based on similar code for handling masked.scatter and vp.scatter.

Diff Detail

Unit TestsFailed

TimeTest
90 msx64 debian > ORC-x86_64-linux.TestCases/Linux/x86-64::trivial-cxa-atexit.S
Script: -- : 'RUN: at line 3'; /var/lib/buildkite-agent/builds/llvm-project/build/./bin/clang -m64 -c -o /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/orc/X86_64LinuxConfig/TestCases/Linux/x86-64/Output/trivial-cxa-atexit.S.tmp /var/lib/buildkite-agent/builds/llvm-project/compiler-rt/test/orc/TestCases/Linux/x86-64/trivial-cxa-atexit.S
110 msx64 debian > ORC-x86_64-linux.TestCases/Linux/x86-64::trivial-static-initializer.S
Script: -- : 'RUN: at line 7'; /var/lib/buildkite-agent/builds/llvm-project/build/./bin/clang -m64 -c -o /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/orc/X86_64LinuxConfig/TestCases/Linux/x86-64/Output/trivial-static-initializer.S.tmp /var/lib/buildkite-agent/builds/llvm-project/compiler-rt/test/orc/TestCases/Linux/x86-64/trivial-static-initializer.S
120 msx64 debian > ORC-x86_64-linux.TestCases/Linux/x86-64::trivial-tls.S
Script: -- : 'RUN: at line 1'; /var/lib/buildkite-agent/builds/llvm-project/build/./bin/clang -m64 -c -o /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/orc/X86_64LinuxConfig/TestCases/Linux/x86-64/Output/trivial-tls.S.tmp /var/lib/buildkite-agent/builds/llvm-project/compiler-rt/test/orc/TestCases/Linux/x86-64/trivial-tls.S

Event Timeline

craig.topper created this revision.Sep 21 2021, 3:55 PM
craig.topper requested review of this revision.Sep 21 2021, 3:55 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 21 2021, 3:55 PM
Herald added a subscriber: MaskRay. · View Herald Transcript

Add fixed vector test.

frasercrmck accepted this revision.Sep 22 2021, 1:43 AM

LGTM. Good spot, sorry for missing that originally.

This revision is now accepted and ready to land.Sep 22 2021, 1:43 AM
This revision was landed with ongoing or failed builds.Sep 22 2021, 9:21 AM
This revision was automatically updated to reflect the committed changes.