This is an archive of the discontinued LLVM Phabricator instance.

[X86 CodeGen] Optimization of ZeroExtendLoad for v2i8 vector
ClosedPublic

Authored by delena on Sep 12 2017, 11:07 AM.

Details

Reviewers
igorb
RKSimon
zvi
Summary

Load with zero-extend and sign-extend from v2i8 to v2i32 is "Legal" since SSE4.1 and may be performed using PMOVZXBD , PMOVSXBD instructions.

The sequence that we have in conversion in uitofp_load_2i8_to_2f64() is better, than it was, but still sub-optimal. I'll open a separate bug for it.

Diff Detail

Repository
rL LLVM

Event Timeline

delena created this revision.Sep 12 2017, 11:07 AM
sodeh added a subscriber: sodeh.Sep 12 2017, 12:26 PM
zvi accepted this revision.Sep 12 2017, 11:04 PM
zvi added a subscriber: zvi.

LGTM, and as you mentioned in the cover message, there is more room for improvement.

This revision is now accepted and ready to land.Sep 12 2017, 11:04 PM
RKSimon closed this revision.Sep 22 2017, 1:34 AM
RKSimon edited edge metadata.

This was committed at rL313121