Commit 52cb0bbe authored by Simon Pilgrim's avatar Simon Pilgrim
Browse files

[X86] LowerRotate - use vXi8 custom lowering for non-uniform constant amounts

Instead of bailing and using the default expansion, we can more efficiently use the shl(unpack(x,x),unpack(amt,zero)) pattern for vXi8 rotl, as we'll then use vXi16 fast PMULLW (or PSLLVW).

This required some minor changes to improve constant folding during unpack shuffle creation and convertShiftLeftToScale to support constants that have already been lowered to constant pools.
parent 6f2e0876
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment