summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/X86/avx512-vec-cmp.ll27
-rw-r--r--llvm/test/MC/X86/avx512-encodings.s4
-rw-r--r--llvm/test/MC/X86/x86-64-avx512bw.s8
3 files changed, 38 insertions, 1 deletions
diff --git a/llvm/test/CodeGen/X86/avx512-vec-cmp.ll b/llvm/test/CodeGen/X86/avx512-vec-cmp.ll
index 6a4a3aa7e37..a8c558df9de 100644
--- a/llvm/test/CodeGen/X86/avx512-vec-cmp.ll
+++ b/llvm/test/CodeGen/X86/avx512-vec-cmp.ll
@@ -152,7 +152,6 @@ define <8 x i32> @test11_unsigned(<8 x i32> %x, <8 x i32> %y) nounwind {
ret <8 x i32> %max
}
-
define i16 @test12(<16 x i64> %a, <16 x i64> %b) nounwind {
; KNL-LABEL: test12:
; KNL: ## BB#0:
@@ -166,6 +165,32 @@ define i16 @test12(<16 x i64> %a, <16 x i64> %b) nounwind {
ret i16 %res1
}
+define i32 @test12_v32i32(<32 x i32> %a, <32 x i32> %b) nounwind {
+; SKX-LABEL: test12_v32i32:
+; SKX: ## BB#0:
+; SKX-NEXT: vpcmpeqd %zmm2, %zmm0, %k0
+; SKX-NEXT: vpcmpeqd %zmm3, %zmm1, %k1
+; SKX-NEXT: kunpckwd %k0, %k1, %k0
+; SKX-NEXT: kmovd %k0, %eax
+; SKX-NEXT: retq
+ %res = icmp eq <32 x i32> %a, %b
+ %res1 = bitcast <32 x i1> %res to i32
+ ret i32 %res1
+}
+
+define i64 @test12_v64i16(<64 x i16> %a, <64 x i16> %b) nounwind {
+; SKX-LABEL: test12_v64i16:
+; SKX: ## BB#0:
+; SKX-NEXT: vpcmpeqw %zmm2, %zmm0, %k0
+; SKX-NEXT: vpcmpeqw %zmm3, %zmm1, %k1
+; SKX-NEXT: kunpckdq %k0, %k1, %k0
+; SKX-NEXT: kmovq %k0, %rax
+; SKX-NEXT: retq
+ %res = icmp eq <64 x i16> %a, %b
+ %res1 = bitcast <64 x i1> %res to i64
+ ret i64 %res1
+}
+
define <16 x i32> @test13(<16 x float>%a, <16 x float>%b)
; KNL-LABEL: test13:
; KNL: ## BB#0:
diff --git a/llvm/test/MC/X86/avx512-encodings.s b/llvm/test/MC/X86/avx512-encodings.s
index 2a60c8da56a..70191bde9f8 100644
--- a/llvm/test/MC/X86/avx512-encodings.s
+++ b/llvm/test/MC/X86/avx512-encodings.s
@@ -14958,6 +14958,10 @@ vpermilpd $0x23, 0x400(%rbx), %zmm2
// CHECK: encoding: [0x62,0xf2,0xc5,0x08,0x43,0x92,0xf8,0xfb,0xff,0xff]
vgetexpsd -1032(%rdx), %xmm7, %xmm2
+// CHECK: kunpckbw %k6, %k5, %k5
+// CHECK: encoding: [0xc5,0xd5,0x4b,0xee]
+ kunpckbw %k6, %k5, %k5
+
// CHECK: vgetmantss $171, %xmm12, %xmm2, %xmm3
// CHECK: encoding: [0x62,0xd3,0x6d,0x08,0x27,0xdc,0xab]
vgetmantss $0xab, %xmm12, %xmm2, %xmm3
diff --git a/llvm/test/MC/X86/x86-64-avx512bw.s b/llvm/test/MC/X86/x86-64-avx512bw.s
index c557da13ea8..e362683bad1 100644
--- a/llvm/test/MC/X86/x86-64-avx512bw.s
+++ b/llvm/test/MC/X86/x86-64-avx512bw.s
@@ -4112,6 +4112,14 @@
// CHECK: encoding: [0x62,0x61,0x2d,0x40,0x69,0xb2,0xc0,0xdf,0xff,0xff]
vpunpckhwd -8256(%rdx), %zmm26, %zmm30
+// CHECK: kunpckdq %k4, %k6, %k4
+// CHECK: encoding: [0xc4,0xe1,0xcc,0x4b,0xe4]
+ kunpckdq %k4, %k6, %k4
+
+// CHECK: kunpckwd %k6, %k5, %k5
+// CHECK: encoding: [0xc5,0xd4,0x4b,0xee]
+ kunpckwd %k6, %k5, %k5
+
// CHECK: ktestd %k3, %k3
// CHECK: encoding: [0xc4,0xe1,0xf9,0x99,0xdb]
ktestd %k3, %k3
OpenPOWER on IntegriCloud