[PATCH] D51750: Simply specific sequences involving XXSPLTW (ld->permute->splat, ld->splat)
Amy Kwan via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 6 13:55:12 PDT 2018
amyk created this revision.
amyk added reviewers: nemanjai, echristo, hfinkel.
Herald added a subscriber: hiraditya.
This patch includes a peephole optimization that involves simplifying specific sequences involving the `XXSPLTW` instruction. Sequences simplified will differ and the transformation performed is dependent on if it is being done on https://reviews.llvm.org/P8 or https://reviews.llvm.org/P9.
For https://reviews.llvm.org/P9:
- `load -> permute (or a shift) -> xxspltw` will become `lxvwsx`
- `load -> xxspltw` will become `lxvwsx`
For https://reviews.llvm.org/P8:
- `load -> permute (or a shift) -> xxspltw` will become `load -> xxspltw`, ensuring that the correct element is splatted while removing the redundant permute instruction.
https://reviews.llvm.org/D51750
Files:
llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
llvm/test/CodeGen/PowerPC/VSX-XForm-Scalars.ll
llvm/test/CodeGen/PowerPC/build-vector-tests.ll
llvm/test/CodeGen/PowerPC/load-v4i8-improved.ll
llvm/test/CodeGen/PowerPC/power9-moves-and-splats.ll
llvm/test/CodeGen/PowerPC/qpx-load-splat.ll
llvm/test/CodeGen/PowerPC/vsx.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D51750.164209.patch
Type: text/x-patch
Size: 23979 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180906/9444bb05/attachment.bin>
More information about the llvm-commits
mailing list