This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Use vslidedown.vi vN, vN, 0 instead of vslideup.vi vN, vM, 0 for scalable vectors.
AbandonedPublic

Authored by craig.topper on Jun 8 2023, 10:25 PM.

Details

Reviewers
reames
luke
Summary

These instructions are semantically identical in the case where the
offset is 0 with the exception that vslideup has a vector overlap
constraint and vslidedown doesn't. As a result, we can prefer the one
without register overlap constraints to improve register allocation
flexibility.

This the scalable vector version of https://reviews.llvm.org/D152298.

Diff Detail