This is an archive of the discontinued LLVM Phabricator instance.

[PowerPC] use lvx + splat directly for aligned splat load
ClosedPublic

Authored by shchenz on Nov 16 2021, 11:41 PM.

Details

Summary

This is to address review comments for https://reviews.llvm.org/D106555#inline-1079417

We can use lvx + splat 0(or biggest index on LE) directly for some aligned splat load instead of lvx + splat with a constructed mask.

Diff Detail

Event Timeline

shchenz created this revision.Nov 16 2021, 11:41 PM
shchenz requested review of this revision.Nov 16 2021, 11:41 PM
Herald added a project: Restricted Project. · View Herald TranscriptNov 16 2021, 11:41 PM
shchenz updated this revision to Diff 387846.Nov 16 2021, 11:53 PM

for power 9, use lxsibzx as it has the same latency with lvx but has more useable registers.

gentle ping

gentle ping

nemanjai accepted this revision.Dec 6 2021, 6:09 AM

LGTM.

llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
4475

Nit: can probably be added to line 4471 (except of course change the body to
AddrOp = N->getOperand(1)

This revision is now accepted and ready to land.Dec 6 2021, 6:09 AM
shchenz marked an inline comment as done.Dec 7 2021, 5:45 PM

Thanks for your review @nemanjai

llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
4475

Will fix this in the commit.

This revision was landed with ongoing or failed builds.Dec 7 2021, 6:02 PM
This revision was automatically updated to reflect the committed changes.
shchenz marked an inline comment as done.