aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineBasicBlock.cpp
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2019-01-25 15:37:42 +0000
committerSanjay Patel <spatel@rotateright.com>2019-01-25 15:37:42 +0000
commit21aa6ddc1413667516f7b5cc7a6013a9593dd404 (patch)
tree5beab445e0415b28a875f746bc4f3dae2aa9f64f /llvm/lib/CodeGen/MachineBasicBlock.cpp
parentb120127001339c4cd36b9e3d3dc9731c857fbce6 (diff)
downloadllvm-21aa6ddc1413667516f7b5cc7a6013a9593dd404.zip
llvm-21aa6ddc1413667516f7b5cc7a6013a9593dd404.tar.gz
llvm-21aa6ddc1413667516f7b5cc7a6013a9593dd404.tar.bz2
[x86] narrow a shuffle that doesn't use or set any high elements
This isn't the final fix for our reduction/horizontal codegen, but it takes care of a lot of the problems. After we narrow the shuffle, existing combines for insert/extract and binops kick in, and we end up with cheaper 128-bit ops. The avg and mul reduction tests show an existing shuffle lowering hole for AVX2/AVX512. I think in its most minimal form this is: https://bugs.llvm.org/show_bug.cgi?id=40434 ...but we might need multiple fixes to get it right. Differential Revision: https://reviews.llvm.org/D57156 llvm-svn: 352209
Diffstat (limited to 'llvm/lib/CodeGen/MachineBasicBlock.cpp')
0 files changed, 0 insertions, 0 deletions