diff options
author | Michael Kuperstein <michael.m.kuperstein@intel.com> | 2015-02-17 08:22:51 +0000 |
---|---|---|
committer | Michael Kuperstein <michael.m.kuperstein@intel.com> | 2015-02-17 08:22:51 +0000 |
commit | ff5acaf50c17689d47848cfc8c3904d39e3760cd (patch) | |
tree | f839f708d6f5300d048378400e9928c3ff542375 /llvm/unittests/ADT/ArrayRefTest.cpp | |
parent | 8c45037eb40ed4feb3507d8af3e82078bbd54abf (diff) | |
download | llvm-ff5acaf50c17689d47848cfc8c3904d39e3760cd.zip llvm-ff5acaf50c17689d47848cfc8c3904d39e3760cd.tar.gz llvm-ff5acaf50c17689d47848cfc8c3904d39e3760cd.tar.bz2 |
[X86] Combine vector anyext + and into a vector zext
Vector zext tends to get legalized into a vector anyext, represented as a vector shuffle with an undef vector + a bitcast, that gets ANDed with a mask that zeroes the undef elements.
Combine this into an explicit shuffle with a zero vector instead. This allows shuffle lowering to match it as a zext, instead of matching it as an anyext and emitting an explicit AND.
This combine only covers a subset of the cases, but it's a start.
Differential Revision: http://reviews.llvm.org/D7666
llvm-svn: 229480
Diffstat (limited to 'llvm/unittests/ADT/ArrayRefTest.cpp')
0 files changed, 0 insertions, 0 deletions