[X86][AVX] LowerFunnelShift - improve FSHL/FSHR per-element lowering
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 18 Jan 2022 20:48:54 +0000 (20:48 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 19 Jan 2022 10:15:43 +0000 (10:15 +0000)
commita8890995ee67e0949b3d67da90a32e712fba1396
tree76b61a2843b2dd07b806956c666e6e8d60940a18
parent89103bd2f06dea6dc89276cd12dd78c72476b03f
[X86][AVX] LowerFunnelShift - improve FSHL/FSHR per-element lowering

Similar to LowerRotate, see if we can either unpack or extend to a wider type and use that type's per-element shift instruction
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/vector-fshl-128.ll
llvm/test/CodeGen/X86/vector-fshl-256.ll
llvm/test/CodeGen/X86/vector-fshl-512.ll
llvm/test/CodeGen/X86/vector-fshr-128.ll
llvm/test/CodeGen/X86/vector-fshr-256.ll
llvm/test/CodeGen/X86/vector-fshr-512.ll