This is an archive of the discontinued LLVM Phabricator instance.

Simply specific sequences involving XXSPLTW (ld->permute->splat, ld->splat)
AbandonedPublic

Authored by amyk on Sep 6 2018, 1:53 PM.

Details

Summary

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 P8 or P9.

For P9:

  • load -> permute (or a shift) -> xxspltw will become lxvwsx
  • load -> xxspltw will become lxvwsx

For P8:

  • load -> permute (or a shift) -> xxspltw will become load -> xxspltw, ensuring that the correct element is splatted while removing the redundant permute instruction.

Diff Detail

Event Timeline

amyk created this revision.Sep 6 2018, 1:53 PM
amyk abandoned this revision.Jan 4 2021, 9:53 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 4 2021, 9:53 AM