This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Add earlyclobber of destination register to vmsbf.m/vmsif.m/vmsof.m instructions
ClosedPublic

Authored by craig.topper on Dec 28 2020, 11:44 AM.

Details

Summary

The spec for these instructions include this note. "The destination register
cannot overlap either the source register or the mask register ('v0') if the
instruction is masked." So we need earlyclobber to enforce this constraint.

I've regenerated the tests with update_llc_test_checks.py to show the
effects of the earlyclobber.

Diff Detail

Event Timeline

craig.topper created this revision.Dec 28 2020, 11:44 AM
craig.topper requested review of this revision.Dec 28 2020, 11:44 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 28 2020, 11:44 AM
Herald added a subscriber: MaskRay. · View Herald Transcript

LGTM, thanks for fixup!

khchen accepted this revision.Dec 28 2020, 8:36 PM
This revision is now accepted and ready to land.Dec 28 2020, 8:36 PM