This is an archive of the discontinued LLVM Phabricator instance.

[PowerPC] Add vector pair load/store instructions and vector pair register class
ClosedPublic

Authored by bsaleil on Jul 22 2020, 1:41 PM.

Details

Summary

This patch adds support for the lxvp, lxvpx, plxvp, stxvp, stxvpx and pstxvp instructions in the PowerPC backend. These instructions allow loading and storing VSX register pairs.
This patch also adds the VSRp register class definition needed for these instructions.

Depends on D83722

Diff Detail

Event Timeline

bsaleil created this revision.Jul 22 2020, 1:41 PM
bsaleil edited the summary of this revision. (Show Details)Jul 22 2020, 1:42 PM
bsaleil updated this revision to Diff 281384.Jul 28 2020, 3:37 PM

Rebased patch

amyk added inline comments.Aug 4 2020, 4:41 PM
llvm/lib/Target/PowerPC/PPCInstrPrefix.td
744

Minor nit, but I am thinking it may be better to put the class definitions above the definitions of the predicates.

bsaleil updated this revision to Diff 290532.Sep 8 2020, 10:58 AM

Move class definitions above predicates

lei added inline comments.Sep 17 2020, 2:52 PM
llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
598 ↗(On Diff #290532)

This function looks like a subset of what PPCInstPrinter::printOperand() does.. can we not just use that function instead?

llvm/lib/Target/PowerPC/PPCRegisterInfo.h
162

nit: no need for the extra empty line.

bsaleil updated this revision to Diff 292857.Sep 18 2020, 11:35 AM

Remove unnecessary empty line and use the printOperand function to print VSRp regs

bsaleil marked 3 inline comments as done.Sep 18 2020, 11:44 AM
bsaleil updated this revision to Diff 292873.Sep 18 2020, 12:25 PM

Directly use printOperand to print VSRp registers.

lei accepted this revision as: lei.Sep 18 2020, 12:39 PM

LGTM. Thx!

This revision is now accepted and ready to land.Sep 18 2020, 12:39 PM
amyk accepted this revision.Sep 18 2020, 1:51 PM

Aside from the clang-format issues that can be addressed on commit this looks good to me.

This revision was landed with ongoing or failed builds.Sep 21 2020, 8:28 AM
This revision was automatically updated to reflect the committed changes.