This is an archive of the discontinued LLVM Phabricator instance.

[X86][SSE] Support v8i16/v16i16 rotations
ClosedPublic

Authored by RKSimon on Jun 6 2018, 6:08 AM.

Details

Summary

Extension to D46954 (PR37426), this patch adds support for v8i16/v16i16 rotations in a similar manner - the conversion of the shift/rotate amount to a multiplication factor and the use of PMULLW to shift left and PMULHUW (ISD::MULHU) to shift the wrapped bits back around to be ORd together.

Diff Detail

Repository
rL LLVM

Event Timeline

RKSimon created this revision.Jun 6 2018, 6:08 AM
lebedev.ri added inline comments.
lib/Target/X86/X86ISelLowering.cpp
1037 ↗(On Diff #150120)

nit: one more whitespace

craig.topper accepted this revision.Jun 8 2018, 9:20 AM

LGTM other than the whitespace comment.

This revision is now accepted and ready to land.Jun 8 2018, 9:20 AM
This revision was automatically updated to reflect the committed changes.