This is an archive of the discontinued LLVM Phabricator instance.

[PowerPC] Add option to disable perfect shuffle
ClosedPublic

Authored by qiucf on Feb 17 2022, 10:01 AM.

Details

Reviewers
jsji
nemanjai
shchenz
Group Reviewers
Restricted Project
Commits
rG43d48ed22029: [PowerPC] Add option to disable perfect shuffle
Summary

Perfect shuffle was introduced into PowerPC backend years ago, and only available in big-endian subtargets.

This optimization has good effects in simple cases, but brings serious negative impact in large programs with many shuffle instructions sharing the same mask. D116801 fixes the issue in those programs, but still causes performance degradation similar to disabling perfect shuffle.

So I propose introducing a temporary backend hidden option to control it until we implemented better way to fix the gap in vectorshuffle decomposition.

Diff Detail

Event Timeline

qiucf created this revision.Feb 17 2022, 10:01 AM
qiucf requested review of this revision.Feb 17 2022, 10:01 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 17 2022, 10:01 AM
qiucf updated this revision to Diff 409858.Feb 17 2022, 11:08 PM
qiucf retitled this revision from [PowerPC] Disable perfect shuffle by default to [PowerPC] Add option to disable perfect shuffle.
qiucf edited the summary of this revision. (Show Details)
jsji accepted this revision as: jsji.Feb 18 2022, 8:30 PM

LGTM. Thanks.

This revision is now accepted and ready to land.Feb 18 2022, 8:30 PM
This revision was landed with ongoing or failed builds.Feb 20 2022, 9:41 AM
This revision was automatically updated to reflect the committed changes.