diff options
| author | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2015-05-10 10:33:32 +0000 |
|---|---|---|
| committer | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2015-05-10 10:33:32 +0000 |
| commit | 75d14893269a72181efdc81eaa11089ef6d15eb5 (patch) | |
| tree | a4d8524f1f0c91d564c402c902a1ceb8b9320b1c /llvm/test | |
| parent | c6366077ed8dafe40fbd04315bdec0450e84e087 (diff) | |
| download | bcm5719-llvm-75d14893269a72181efdc81eaa11089ef6d15eb5.tar.gz bcm5719-llvm-75d14893269a72181efdc81eaa11089ef6d15eb5.zip | |
AVX-512: fixed a bug in i1 vectors lowering
llvm-svn: 236947
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/CodeGen/X86/avx512-mask-op.ll | 51 |
1 files changed, 50 insertions, 1 deletions
diff --git a/llvm/test/CodeGen/X86/avx512-mask-op.ll b/llvm/test/CodeGen/X86/avx512-mask-op.ll index 677524a9565..5f3588d68d0 100644 --- a/llvm/test/CodeGen/X86/avx512-mask-op.ll +++ b/llvm/test/CodeGen/X86/avx512-mask-op.ll @@ -157,4 +157,53 @@ define <2 x i64> @test5(<2 x i64> %x, <2 x i64> %y, <2 x i64> %x1, <2 x i64> %y1 %res = icmp slt <2 x i1>%x_gt_y, %x1_gt_y1 %resse = sext <2 x i1>%res to <2 x i64> ret <2 x i64> %resse -}
\ No newline at end of file +} + +; KNL-LABEL: test6 +; KNL: vpmovsxbd +; KNL: vpandd +; KNL: kmovw %eax, %k1 +; KNL vptestmd {{.*}}, %k0 {%k1} + +; SKX-LABEL: test6 +; SKX: vpmovb2m +; SKX: kmovw %eax, %k1 +; SKX: kandw +define void @test6(<16 x i1> %mask) { +allocas: + %a= and <16 x i1> %mask, <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false> + %b = bitcast <16 x i1> %a to i16 + %c = icmp eq i16 %b, 0 + br i1 %c, label %true, label %false + +true: + ret void + +false: + ret void +} + +; KNL-LABEL: test7 +; KNL: vpmovsxwq +; KNL: vpandq +; KNL: vptestmq {{.*}}, %k0 +; KNL: korw + +; SKX-LABEL: test7 +; SKX: vpmovw2m +; SKX: kmovw %eax, %k1 +; SKX: korb + +define void @test7(<8 x i1> %mask) { +allocas: + %a= or <8 x i1> %mask, <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false> + %b = bitcast <8 x i1> %a to i8 + %c = icmp eq i8 %b, 0 + br i1 %c, label %true, label %false + +true: + ret void + +false: + ret void +} |

