This is an archive of the discontinued LLVM Phabricator instance.

[PowerPC] Add new load/store with length instructions to Future CPU.
ClosedPublic

Authored by maryammo on Oct 28 2022, 3:08 PM.

Details

Summary

This patch adds 8 news load and store with length instructions including
lxvrl, lxvrll, stxvrl, stxvrll, lxvprl, lxvprll, stxvprl, stxvprll.

Diff Detail

Event Timeline

maryammo created this revision.Oct 28 2022, 3:08 PM
Herald added a project: Restricted Project. · View Herald TranscriptOct 28 2022, 3:08 PM
maryammo requested review of this revision.Oct 28 2022, 3:08 PM
Herald added a project: Restricted Project. · View Herald TranscriptOct 28 2022, 3:08 PM
stefanp accepted this revision.Nov 3 2022, 12:32 PM

Other than a very minor nit I think this LGTM.

Please note that since https://reviews.llvm.org/D136366 has gone in I suspect you will have to rebase your patch to the top of main branch before you deliver this change.

llvm/lib/Target/PowerPC/PPCInstrFuture.td
16

nit:
I think alignment is 1 space off here. (and on line 19).

This revision is now accepted and ready to land.Nov 3 2022, 12:32 PM
amyk added a comment.Nov 3 2022, 2:33 PM

Nit: Please also rebase this patch as the newly added files have been committed in Stefan's patch: rG9df924a634ac5ea702b0d8d0d8b737c819a98095

llvm/lib/Target/PowerPC/PPCInstrFuture.td
14

I might be mistaken but I think we may need a let mayLoad = 1 in { } for the loads and a let mayStore = 1 in { } for the stores.

16

Minor nit on indenting.

19

Minor nit on indenting.

lei added inline comments.Nov 4 2022, 6:06 AM
llvm/lib/Target/PowerPC/PPCInstrFuture.td
14

I second that. We should add it for load and stores instrs.

llvm/test/MC/PowerPC/ppc-encoding-ISAFuture.s
6

run line for powerpc64-unknown-aix-gnu?

saghir accepted this revision.Nov 4 2022, 6:07 PM
saghir added a subscriber: saghir.

Besides other comments, LGTM. Thanks!

maryammo updated this revision to Diff 473844.Nov 7 2022, 6:11 PM

Rebased patch to top of main branch and address the review comments

amyk added a comment.Nov 7 2022, 10:11 PM

Thanks for addressing the initial comments that I had. I think aside from these comments I have, the patch LGTM.

llvm/lib/Target/PowerPC/PPCInstrFuture.td
15

Another minor nit, but could we:

  • Indent the let mayLoad = 1 in { } and let mayStore = 1 in { } blocks, similar to how in PPCInstrVSX.td, we will indent these mayLoad/mayStore blocks if there are predicates on the outside.
  • Group all loads together in one mayLoad block, and stores in one mayStore block so that we don't need to add as many of these?
maryammo updated this revision to Diff 476242.Nov 17 2022, 2:22 PM

Address review comments and rebase patch to top of main branch

amyk accepted this revision.Nov 17 2022, 7:14 PM

Thanks Maryam. LGTM.

This revision was landed with ongoing or failed builds.Nov 21 2022, 11:22 AM
This revision was automatically updated to reflect the committed changes.