HomePhabricator

[X86] Add lowerShuffleAsBitRotate (PR44379)

Authored by RKSimon on Feb 10 2020, 8:16 AM.

Description

[X86] Add lowerShuffleAsBitRotate (PR44379)

As noted on PR44379, we didn't attempt to lower vector shuffles using bit rotations on XOP/AVX512F targets.

This patch lowers to uniform ISD:ROTL nodes - ROTR isn't supported by XOP and they are interchangeable for constant values anyway.

There might be cases where targets without ISD:ROTL support would benefit from this (expanding to SRL+SHL+OR), which I'll investigate in a future patch.

REAPPLIED rGe82e17d4d4ca after reversion at rG39eade73a567 - fixed offset matching in matchShuffleAsBitRotate.

Details

Committed
RKSimonFeb 10 2020, 8:16 AM
Parents
rG4b1df7356a15: [gn build] Port 0151ddc2e83
Branches
Unknown
Tags
Unknown