This is an archive of the discontinued LLVM Phabricator instance.

[X86] Use funnel shift intrinsics for the VBMI2 vshld/vshrd builtins.
ClosedPublic

Authored by craig.topper on Jan 6 2019, 12:39 PM.

Diff Detail

Repository
rL LLVM

Event Timeline

craig.topper created this revision.Jan 6 2019, 12:39 PM
RKSimon added inline comments.Jan 6 2019, 12:43 PM
test/CodeGen/avx512vlvbmi2-builtins.c
415 ↗(On Diff #180410)

Missing CHECK for select? Same for other tests.

Add select checks. Move masking for variable vpshld/vpshrd to the intrinsic header. So now we don't need different builtins for mask and maskz.

craig.topper retitled this revision from [X86] Use funnel shift intrinsics for the VBMI2 vshld/vshrd intrinsics. to [X86] Use funnel shift intrinsics for the VBMI2 vshld/vshrd builtins..Jan 6 2019, 11:10 PM
craig.topper removed a subscriber: llvm-commits.

Rebase after fixing immediates to be in range without a modulo

RKSimon accepted this revision.Jan 7 2019, 3:01 AM

LGTM in conjunction with the fast-isel changes in D56377

This revision is now accepted and ready to land.Jan 7 2019, 3:01 AM
This revision was automatically updated to reflect the committed changes.