This is an archive of the discontinued LLVM Phabricator instance.

[X86] Create paddus/psubus from narrower vectors with i8/i16 element types.
ClosedPublic

Authored by craig.topper on Sep 7 2018, 2:37 PM.

Details

Summary

This patch allows vectors with a power of 2 number of elements and i8/i16 element type to select paddus/psubus instructions. ReplaceNodeResults has been updated to custom widen these operations up to 128 bits like we already do for PAVG.

Another step towards fixing PR38691

Diff Detail

Repository
rL LLVM

Event Timeline

craig.topper created this revision.Sep 7 2018, 2:37 PM
RKSimon accepted this revision.Sep 8 2018, 7:15 AM

LGTM - thanks

This revision is now accepted and ready to land.Sep 8 2018, 7:15 AM
spatel accepted this revision.Sep 8 2018, 7:41 AM

LGTM - the demanded elements patches are still under review, but I think this is the last step for PR38691 as written there.

This revision was automatically updated to reflect the committed changes.