[all-commits] [llvm/llvm-project] 249207: [X86][SSE] lowerShuffleAsBitRotate - lower to vXi8...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Fri Feb 14 03:55:31 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 2492075add88af24bfc0c9af8a9af61b880c0ebb
https://github.com/llvm/llvm-project/commit/2492075add88af24bfc0c9af8a9af61b880c0ebb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2020-02-14 (Fri, 14 Feb 2020)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bitreverse.ll
M llvm/test/CodeGen/X86/bswap-vector.ll
M llvm/test/CodeGen/X86/vector-bitreverse.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
Log Message:
-----------
[X86][SSE] lowerShuffleAsBitRotate - lower to vXi8 shuffles to ROTL on pre-SSSE3 targets
Without PSHUFB we are better using ROTL (expanding to OR(SHL,SRL)) than using the generic v16i8 shuffle lowering - but if we can widen to v8i16 or more then the existing shuffles are still the better option.
REAPPLIED: Original commit rG11c16e71598d was reverted at rGde1d90299b16 as it wasn't accounting for later lowering. This version emits ROTLI or the OR(VSHLI/VSRLI) directly to avoid the issue.
More information about the All-commits
mailing list