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/XRay | |
| 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/XRay')
0 files changed, 0 insertions, 0 deletions

