This is an archive of the discontinued LLVM Phabricator instance.

[X86] Autoupgrade kunpck intrinsics using vector operations instead of scalar operations
ClosedPublic

Authored by craig.topper on Jan 12 2018, 4:17 PM.

Details

Summary

This patch changes the kunpck intrinsic autoupgrade to use vXi1 shufflevector operations to perform vector extracts and concats. This more closely matches the definition of the kunpck instructions. Currently we rely on a DAG combine to turn the scalar shift/and/or code into a concat vectors operation. By doing it in the IR we get this for free.

Diff Detail

Repository
rL LLVM

Event Timeline

craig.topper created this revision.Jan 12 2018, 4:17 PM

Please can you regenerate the diff with context?

Update with context

RKSimon accepted this revision.Jan 14 2018, 7:08 AM

LGTM

This revision is now accepted and ready to land.Jan 14 2018, 7:08 AM
This revision was automatically updated to reflect the committed changes.