This is an archive of the discontinued LLVM Phabricator instance.

[X86][AVX512] Add lowering of vXi32/vXi64 ISD::ROTL/ISD::ROTR
ClosedPublic

Authored by RKSimon on Jul 16 2017, 12:39 PM.

Details

Summary

Add support for lowering to ISD::ROTL/ISD::ROTR, including rotate by immediate

Diff Detail

Repository
rL LLVM

Event Timeline

RKSimon created this revision.Jul 16 2017, 12:39 PM
delena added inline comments.Jul 16 2017, 2:03 PM
lib/Target/X86/X86ISelLowering.cpp
22683

Where do we control RotateAmt?
According to the spec COUNT <- COUNT_SRC modulo 32;

RKSimon updated this revision to Diff 106848.Jul 17 2017, 4:24 AM

Ensure we modulo the constant immediate to be in range.

Generalized the constant splat extraction to work better with intrinsics where the rotate amount may already have been lowered.

delena accepted this revision.Jul 17 2017, 6:44 AM
This revision is now accepted and ready to land.Jul 17 2017, 6:44 AM
This revision was automatically updated to reflect the committed changes.