ret <8 x i32> %max
}
-
define i16 @test12(<16 x i64> %a, <16 x i64> %b) nounwind {
; KNL-LABEL: test12:
; KNL: ## BB#0:
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: