This is an archive of the discontinued LLVM Phabricator instance.

[X86] Optimize vector shifts with variable but uniform shift amounts
ClosedPublic

Authored by zvi on Jan 5 2017, 5:34 AM.

Details

Summary

For instructions such as PSLLW/PSLLD/PSLLQ a variable shift amount may be passed in an XMM register.
The lower 64-bits of the register are evaluated to determine the shift amount.
This patch improves the construction of the vector containing the shift amount.

Diff Detail

Repository
rL LLVM

Event Timeline

zvi updated this revision to Diff 83224.Jan 5 2017, 5:34 AM
zvi retitled this revision from to [X86] Optimize vector shifts with variable but uniform shift amounts.
zvi updated this object.
zvi added reviewers: craig.topper, delena, RKSimon.
zvi set the repository for this revision to rL LLVM.
zvi added a subscriber: llvm-commits.
RKSimon accepted this revision.Jan 5 2017, 7:15 AM
RKSimon edited edge metadata.

LGTM

This revision is now accepted and ready to land.Jan 5 2017, 7:15 AM
This revision was automatically updated to reflect the committed changes.