aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/Error.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2016-02-17 10:37:49 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2016-02-17 10:37:49 +0000
commita50e8d3627eb7f56ebdf0351e18759bb50322c37 (patch)
tree9a969e91e7a84d0a70a6aed1a8608c0e8fc9498c /llvm/lib/Object/Error.cpp
parent11481f502c40f86037dc1479c4147f543f60a41b (diff)
downloadllvm-a50e8d3627eb7f56ebdf0351e18759bb50322c37.zip
llvm-a50e8d3627eb7f56ebdf0351e18759bb50322c37.tar.gz
llvm-a50e8d3627eb7f56ebdf0351e18759bb50322c37.tar.bz2
[X86][AVX] Support bit-mask integer shuffles for 256-bit integer vectors
AVX1 doesn't support the shuffling of 256-bit integer vectors. For 32/64-bit elements we get around this by shuffling as float/double but for 8/16-bit elements (assuming they can't widen) we currently just split, shuffle as 128-bit vectors and concatenate the results back. This patch adds the ability to lower using the bit-mask patterns before defaulting to the splitting behaviour. In some cases this ends up matching what AVX2 would do anyhow or what AVX1 does on the split vectors. Part 1 of 2 Differential Revision: http://reviews.llvm.org/D17292 llvm-svn: 261081
Diffstat (limited to 'llvm/lib/Object/Error.cpp')
0 files changed, 0 insertions, 0 deletions