diff options
author | Craig Topper <craig.topper@intel.com> | 2018-09-11 07:23:29 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2018-09-11 07:23:29 +0000 |
commit | 85210311baf4ca498a6ce23eeb4d20aff7fe9666 (patch) | |
tree | f8ff44faac9a28420dcbc9f52df9f6f30c797014 /llvm/lib/Analysis/MemDepPrinter.cpp | |
parent | 28ea6775c7d52721ba03b4ab0ce757e6a1110595 (diff) | |
download | bcm5719-llvm-85210311baf4ca498a6ce23eeb4d20aff7fe9666.tar.gz bcm5719-llvm-85210311baf4ca498a6ce23eeb4d20aff7fe9666.zip |
[X86] Add test cases inspired by PR38840.
These are test cases inspired by sequences like below for extracting the same bit from every vector element and checking for all zeros/ones.
define i1 @and256_x8(<8 x i32>) {
%a = trunc <8 x i32> %0 to <8 x i1>
%b = bitcast <8 x i1> %a to i8
%d = icmp eq i8 %b, -1
ret i1 %d
}
This is what the above looks like after InstCombine.
define i1 @and256_x8_opt(<8 x i32>) {
%2 = and <8 x i32> %0, <i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1>
%a = icmp ne <8 x i32> %2, zeroinitializer
%b = bitcast <8 x i1> %a to i8
%d = icmp eq i8 %b, -1
ret i1 %d
}
llvm-svn: 341908
Diffstat (limited to 'llvm/lib/Analysis/MemDepPrinter.cpp')
0 files changed, 0 insertions, 0 deletions