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.
Paths
| Differential D114062
[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 TimelineComment Actions for power 9, use lxsibzx as it has the same latency with lvx but has more useable registers. Comment Actions LGTM.
This revision is now accepted and ready to land.Dec 6 2021, 6:09 AM This revision was landed with ongoing or failed builds.Dec 7 2021, 6:02 PM Closed by commit rG63cd1842a7f3: [PowerPC] use lvx + splat directly for aligned splat load (authored by shchenz). · Explain Why This revision was automatically updated to reflect the committed changes. shchenz marked an inline comment as done.
Revision Contents
Diff 392610 llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
llvm/lib/Target/PowerPC/PPCInstrVSX.td
llvm/test/CodeGen/PowerPC/load-and-splat.ll
|
Nit: can probably be added to line 4471 (except of course change the body to
AddrOp = N->getOperand(1)