This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Use tail undisturbed vmv.v.v instead of vslideup.vi vN, vM, 0 for subvector insertion
ClosedPublic

Authored by craig.topper on Jun 9 2023, 10:39 AM.

Details

Summary

vslideup has a vector overlap constraint that vmv.v.v doesn't.
vmv.v.v is also a simpler instruction so may have better
throughput and/or latency in some CPUs.

This is an alternative to D152298, D152368, and D152496.

Diff Detail

Event Timeline

craig.topper created this revision.Jun 9 2023, 10:39 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 9 2023, 10:39 AM
craig.topper requested review of this revision.Jun 9 2023, 10:39 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 9 2023, 10:39 AM
luke accepted this revision.Jun 11 2023, 7:48 AM

LGTM

This revision is now accepted and ready to land.Jun 11 2023, 7:48 AM
reames accepted this revision.Jun 12 2023, 7:31 AM

LGTM!

Nice improvement over the alternatives proposed.