diff options
author | Sanjay Patel <spatel@rotateright.com> | 2018-09-07 21:03:34 +0000 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2018-09-07 21:03:34 +0000 |
commit | c1416b60f2114d4237643c2aef6eddbf53c42d5b (patch) | |
tree | 80b552ac51f5acd7cb4daddf369988d1b18b1e90 /llvm/lib/Analysis/MemorySSAUpdater.cpp | |
parent | 653278f80191a725528b767ecf4d7c47399630ca (diff) | |
download | bcm5719-llvm-c1416b60f2114d4237643c2aef6eddbf53c42d5b.tar.gz bcm5719-llvm-c1416b60f2114d4237643c2aef6eddbf53c42d5b.zip |
[InstCombine] narrow vector select with padded condition and extracted result (PR38691)
shuf (sel (shuf NarrowCond, undef, WideMask), X, Y), undef, NarrowMask) -->
sel NarrowCond, (shuf X, undef, NarrowMask), (shuf Y, undef, NarrowMask)
The motivating case from:
https://bugs.llvm.org/show_bug.cgi?id=38691
...is the last regression test. In that case, we're just left with the narrow select.
Note that if we do create new shuffles, they use the existing extraction identity mask,
so there's no danger that this transform creates arbitrary shuffles.
Differential Revision: https://reviews.llvm.org/D51496
llvm-svn: 341708
Diffstat (limited to 'llvm/lib/Analysis/MemorySSAUpdater.cpp')
0 files changed, 0 insertions, 0 deletions