This is an archive of the discontinued LLVM Phabricator instance.

[X86] Make deinterleave8bitStride3 use unary CreateShuffleVector
ClosedPublic

Authored by aqjune on Jan 3 2021, 8:16 AM.

Details

Summary

This patch makes X86InterleavedAccessGroup::deinterleave8bitStride3 use the unary CreateShuffleVector.

This is a continuation of D93923. There were a few missing replacements.

IIUC, this patch does not cause change in the generated programs' semantics because the
function inserts shufflevectors that only choose elements from the first vector.

Diff Detail

Event Timeline

aqjune created this revision.Jan 3 2021, 8:16 AM
aqjune requested review of this revision.Jan 3 2021, 8:16 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 3 2021, 8:16 AM
nikic accepted this revision.Jan 3 2021, 8:59 AM

LGTM. You might want to update the comment at the top of the file to use poison instead of undef (just to show the canonical IR, doesn't matter semantically).

This revision is now accepted and ready to land.Jan 3 2021, 8:59 AM
aqjune added a comment.Jan 3 2021, 9:08 AM

LGTM. You might want to update the comment at the top of the file to use poison instead of undef (just to show the canonical IR, doesn't matter semantically).

Wow, thank you for finding it out!
Other than them, there's no more undef keyword from this file fortunately :)