summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/avx512-vec-cmp.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/X86/avx512-vec-cmp.ll')
-rw-r--r--llvm/test/CodeGen/X86/avx512-vec-cmp.ll23
1 files changed, 16 insertions, 7 deletions
diff --git a/llvm/test/CodeGen/X86/avx512-vec-cmp.ll b/llvm/test/CodeGen/X86/avx512-vec-cmp.ll
index 0c5669dec76..a141b28a1bf 100644
--- a/llvm/test/CodeGen/X86/avx512-vec-cmp.ll
+++ b/llvm/test/CodeGen/X86/avx512-vec-cmp.ll
@@ -288,11 +288,19 @@ define i64 @test12_v64i16(<64 x i16> %a, <64 x i16> %b) nounwind {
}
define <16 x i32> @test13(<16 x float>%a, <16 x float>%b)
-; CHECK-LABEL: test13:
-; CHECK: ## %bb.0:
-; CHECK-NEXT: vcmpeqps %zmm1, %zmm0, %k1
-; CHECK-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
-; CHECK-NEXT: retq
+; AVX512-LABEL: test13:
+; AVX512: ## %bb.0:
+; AVX512-NEXT: vcmpeqps %zmm1, %zmm0, %k1
+; AVX512-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
+; AVX512-NEXT: vpsrld $31, %zmm0, %zmm0
+; AVX512-NEXT: retq
+;
+; SKX-LABEL: test13:
+; SKX: ## %bb.0:
+; SKX-NEXT: vcmpeqps %zmm1, %zmm0, %k0
+; SKX-NEXT: vpmovm2d %k0, %zmm0
+; SKX-NEXT: vpsrld $31, %zmm0, %zmm0
+; SKX-NEXT: retq
{
%cmpvector_i = fcmp oeq <16 x float> %a, %b
%conv = zext <16 x i1> %cmpvector_i to <16 x i32>
@@ -906,8 +914,9 @@ define <2 x i64> @test46(<2 x float> %x, <2 x float> %y) #0 {
;
; SKX-LABEL: test46:
; SKX: ## %bb.0:
-; SKX-NEXT: vcmpeqps %xmm1, %xmm0, %k1
-; SKX-NEXT: vmovdqa64 {{.*}}(%rip), %xmm0 {%k1} {z}
+; SKX-NEXT: vcmpeqps %xmm1, %xmm0, %k0
+; SKX-NEXT: vpmovm2q %k0, %xmm0
+; SKX-NEXT: vpsrlq $63, %xmm0, %xmm0
; SKX-NEXT: retq
%mask = fcmp oeq <2 x float> %x, %y
%1 = zext <2 x i1> %mask to <2 x i64>
OpenPOWER on IntegriCloud