summaryrefslogtreecommitdiffstats
path: root/clang/tools
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2015-07-12 11:15:19 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2015-07-12 11:15:19 +0000
commit64cc4ad0a273fec56debf406c8524d1122d249b9 (patch)
tree35e69efafa6d2c3ac1d74bdfa9898949f5fcba34 /clang/tools
parentd08eca0181f0d1d21fd7f35fde62eccb509cf5c5 (diff)
downloadbcm5719-llvm-64cc4ad0a273fec56debf406c8524d1122d249b9.tar.gz
bcm5719-llvm-64cc4ad0a273fec56debf406c8524d1122d249b9.zip
[X86][SSE] Vectorized v4i32 non-uniform shifts.
While the v4i32 shl operation is already vectorized using a cvttps2dq/pmulld pattern, the lshr/ashr opeations are still scalarized. This patch adds vectorization support for non-uniform v4i32 shift operations - it splats constant shift amounts to allow them to use the immediate sse shift instructions, or extracts/zero-extends non-constant shift amounts. The individual results are then blended together. Differential Revision: http://reviews.llvm.org/D11063 llvm-svn: 241989
Diffstat (limited to 'clang/tools')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud