aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineFunction.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2020-02-09 21:15:03 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2020-02-09 21:15:03 +0000
commite82e17d4d4cac8b2df00094e80d5e1cb22795664 (patch)
treeee95862b82b69a606eaf05e1b5d77e2db59129f5 /llvm/lib/CodeGen/MachineFunction.cpp
parentdd262222b403dcfc5aef8fe4c49678ac5675a276 (diff)
downloadllvm-e82e17d4d4cac8b2df00094e80d5e1cb22795664.zip
llvm-e82e17d4d4cac8b2df00094e80d5e1cb22795664.tar.gz
llvm-e82e17d4d4cac8b2df00094e80d5e1cb22795664.tar.bz2
[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. Also, non-AVX512BW targets fail to concatenate 256-bit rotations back to 512-bits (split during shuffle lowering as they don't have v32i16/v64i8 types).
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunction.cpp')
0 files changed, 0 insertions, 0 deletions