forked from OSchip/llvm-project
[X86] Use SIGN_EXTEND to implement ANY_EXTEND from vXi1.
llvm-svn: 321334
This commit is contained in:
parent
07d94d59a4
commit
9befe89367
|
@ -16296,21 +16296,6 @@ static SDValue LowerZERO_EXTEND_Mask(SDValue Op,
|
||||||
return SelectedVal;
|
return SelectedVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
static SDValue LowerANY_EXTEND(SDValue Op, const X86Subtarget &Subtarget,
|
|
||||||
SelectionDAG &DAG) {
|
|
||||||
SDValue In = Op->getOperand(0);
|
|
||||||
MVT InVT = In.getSimpleValueType();
|
|
||||||
|
|
||||||
if (InVT.getVectorElementType() == MVT::i1)
|
|
||||||
return LowerZERO_EXTEND_Mask(Op, Subtarget, DAG);
|
|
||||||
|
|
||||||
if (Subtarget.hasFp256())
|
|
||||||
if (SDValue Res = LowerAVXExtend(Op, DAG, Subtarget))
|
|
||||||
return Res;
|
|
||||||
|
|
||||||
return SDValue();
|
|
||||||
}
|
|
||||||
|
|
||||||
static SDValue LowerZERO_EXTEND(SDValue Op, const X86Subtarget &Subtarget,
|
static SDValue LowerZERO_EXTEND(SDValue Op, const X86Subtarget &Subtarget,
|
||||||
SelectionDAG &DAG) {
|
SelectionDAG &DAG) {
|
||||||
SDValue In = Op.getOperand(0);
|
SDValue In = Op.getOperand(0);
|
||||||
|
@ -18456,6 +18441,21 @@ static SDValue LowerSIGN_EXTEND_Mask(SDValue Op,
|
||||||
return V;
|
return V;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static SDValue LowerANY_EXTEND(SDValue Op, const X86Subtarget &Subtarget,
|
||||||
|
SelectionDAG &DAG) {
|
||||||
|
SDValue In = Op->getOperand(0);
|
||||||
|
MVT InVT = In.getSimpleValueType();
|
||||||
|
|
||||||
|
if (InVT.getVectorElementType() == MVT::i1)
|
||||||
|
return LowerSIGN_EXTEND_Mask(Op, Subtarget, DAG);
|
||||||
|
|
||||||
|
if (Subtarget.hasFp256())
|
||||||
|
if (SDValue Res = LowerAVXExtend(Op, DAG, Subtarget))
|
||||||
|
return Res;
|
||||||
|
|
||||||
|
return SDValue();
|
||||||
|
}
|
||||||
|
|
||||||
// Lowering for SIGN_EXTEND_VECTOR_INREG and ZERO_EXTEND_VECTOR_INREG.
|
// Lowering for SIGN_EXTEND_VECTOR_INREG and ZERO_EXTEND_VECTOR_INREG.
|
||||||
// For sign extend this needs to handle all vector sizes and SSE4.1 and
|
// For sign extend this needs to handle all vector sizes and SSE4.1 and
|
||||||
// non-SSE4.1 targets. For zero extend this should only handle inputs of
|
// non-SSE4.1 targets. For zero extend this should only handle inputs of
|
||||||
|
|
|
@ -793,11 +793,10 @@ define i32 @test_insertelement_v32i1(i32 %a, i32 %b, <32 x i32> %x , <32 x i32>
|
||||||
; KNL-NEXT: cmpl %esi, %edi
|
; KNL-NEXT: cmpl %esi, %edi
|
||||||
; KNL-NEXT: setb %al
|
; KNL-NEXT: setb %al
|
||||||
; KNL-NEXT: vpcmpltud %zmm2, %zmm0, %k1
|
; KNL-NEXT: vpcmpltud %zmm2, %zmm0, %k1
|
||||||
; KNL-NEXT: movl {{.*}}(%rip), %ecx
|
; KNL-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; KNL-NEXT: vpbroadcastd %ecx, %zmm0 {%k1} {z}
|
|
||||||
; KNL-NEXT: vpmovdb %zmm0, %xmm0
|
; KNL-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; KNL-NEXT: vpcmpltud %zmm3, %zmm1, %k1
|
; KNL-NEXT: vpcmpltud %zmm3, %zmm1, %k1
|
||||||
; KNL-NEXT: vpbroadcastd %ecx, %zmm1 {%k1} {z}
|
; KNL-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1 {%k1} {z}
|
||||||
; KNL-NEXT: vpmovdb %zmm1, %xmm1
|
; KNL-NEXT: vpmovdb %zmm1, %xmm1
|
||||||
; KNL-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
|
; KNL-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
|
||||||
; KNL-NEXT: vpsllw $7, %ymm0, %ymm0
|
; KNL-NEXT: vpsllw $7, %ymm0, %ymm0
|
||||||
|
@ -2215,15 +2214,14 @@ define i96 @test_insertelement_variable_v96i1(<96 x i8> %a, i8 %b, i32 %index) {
|
||||||
; SKX-NEXT: vpinsrb $15, 728(%rbp), %xmm2, %xmm2
|
; SKX-NEXT: vpinsrb $15, 728(%rbp), %xmm2, %xmm2
|
||||||
; SKX-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1
|
; SKX-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1
|
||||||
; SKX-NEXT: vpxor %xmm2, %xmm2, %xmm2
|
; SKX-NEXT: vpxor %xmm2, %xmm2, %xmm2
|
||||||
; SKX-NEXT: vpcmpnleub %zmm2, %zmm0, %k1
|
; SKX-NEXT: vpcmpnleub %zmm2, %zmm0, %k0
|
||||||
; SKX-NEXT: vpcmpnleub %zmm2, %zmm1, %k2
|
; SKX-NEXT: vpcmpnleub %zmm2, %zmm1, %k1
|
||||||
; SKX-NEXT: movl 744(%rbp), %eax
|
; SKX-NEXT: movl 744(%rbp), %eax
|
||||||
; SKX-NEXT: andl $127, %eax
|
; SKX-NEXT: andl $127, %eax
|
||||||
; SKX-NEXT: cmpb $0, 736(%rbp)
|
; SKX-NEXT: cmpb $0, 736(%rbp)
|
||||||
; SKX-NEXT: vmovdqa64 {{.*#+}} zmm0 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
; SKX-NEXT: vpmovm2b %k1, %zmm0
|
||||||
; SKX-NEXT: vmovdqu8 %zmm0, %zmm1 {%k2} {z}
|
; SKX-NEXT: vmovdqa32 %zmm0, {{[0-9]+}}(%rsp)
|
||||||
; SKX-NEXT: vmovdqa32 %zmm1, {{[0-9]+}}(%rsp)
|
; SKX-NEXT: vpmovm2b %k0, %zmm0
|
||||||
; SKX-NEXT: vmovdqu8 %zmm0, %zmm0 {%k1} {z}
|
|
||||||
; SKX-NEXT: vmovdqa32 %zmm0, (%rsp)
|
; SKX-NEXT: vmovdqa32 %zmm0, (%rsp)
|
||||||
; SKX-NEXT: movq %rsp, %rcx
|
; SKX-NEXT: movq %rsp, %rcx
|
||||||
; SKX-NEXT: setne (%rax,%rcx)
|
; SKX-NEXT: setne (%rax,%rcx)
|
||||||
|
@ -2336,14 +2334,13 @@ define i128 @test_insertelement_variable_v128i1(<128 x i8> %a, i8 %b, i32 %index
|
||||||
; SKX-NEXT: subq $256, %rsp ## imm = 0x100
|
; SKX-NEXT: subq $256, %rsp ## imm = 0x100
|
||||||
; SKX-NEXT: ## kill: def %esi killed %esi def %rsi
|
; SKX-NEXT: ## kill: def %esi killed %esi def %rsi
|
||||||
; SKX-NEXT: vpxor %xmm2, %xmm2, %xmm2
|
; SKX-NEXT: vpxor %xmm2, %xmm2, %xmm2
|
||||||
; SKX-NEXT: vpcmpnleub %zmm2, %zmm0, %k1
|
; SKX-NEXT: vpcmpnleub %zmm2, %zmm0, %k0
|
||||||
; SKX-NEXT: vpcmpnleub %zmm2, %zmm1, %k2
|
; SKX-NEXT: vpcmpnleub %zmm2, %zmm1, %k1
|
||||||
; SKX-NEXT: andl $127, %esi
|
; SKX-NEXT: andl $127, %esi
|
||||||
; SKX-NEXT: testb %dil, %dil
|
; SKX-NEXT: testb %dil, %dil
|
||||||
; SKX-NEXT: vmovdqa64 {{.*#+}} zmm0 = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
; SKX-NEXT: vpmovm2b %k1, %zmm0
|
||||||
; SKX-NEXT: vmovdqu8 %zmm0, %zmm1 {%k2} {z}
|
; SKX-NEXT: vmovdqa32 %zmm0, {{[0-9]+}}(%rsp)
|
||||||
; SKX-NEXT: vmovdqa32 %zmm1, {{[0-9]+}}(%rsp)
|
; SKX-NEXT: vpmovm2b %k0, %zmm0
|
||||||
; SKX-NEXT: vmovdqu8 %zmm0, %zmm0 {%k1} {z}
|
|
||||||
; SKX-NEXT: vmovdqa32 %zmm0, (%rsp)
|
; SKX-NEXT: vmovdqa32 %zmm0, (%rsp)
|
||||||
; SKX-NEXT: movq %rsp, %rax
|
; SKX-NEXT: movq %rsp, %rax
|
||||||
; SKX-NEXT: setne (%rsi,%rax)
|
; SKX-NEXT: setne (%rsi,%rax)
|
||||||
|
|
|
@ -1783,20 +1783,19 @@ define void @ktest_2(<32 x float> %in, float * %base) {
|
||||||
; KNL-NEXT: vmovups (%rdi), %zmm2
|
; KNL-NEXT: vmovups (%rdi), %zmm2
|
||||||
; KNL-NEXT: vmovups 64(%rdi), %zmm3
|
; KNL-NEXT: vmovups 64(%rdi), %zmm3
|
||||||
; KNL-NEXT: vcmpltps %zmm0, %zmm2, %k1
|
; KNL-NEXT: vcmpltps %zmm0, %zmm2, %k1
|
||||||
; KNL-NEXT: movl {{.*}}(%rip), %eax
|
; KNL-NEXT: vpternlogd $255, %zmm2, %zmm2, %zmm2 {%k1} {z}
|
||||||
; KNL-NEXT: vpbroadcastd %eax, %zmm2 {%k1} {z}
|
|
||||||
; KNL-NEXT: vpmovdb %zmm2, %xmm2
|
; KNL-NEXT: vpmovdb %zmm2, %xmm2
|
||||||
; KNL-NEXT: vcmpltps %zmm1, %zmm3, %k2
|
; KNL-NEXT: vcmpltps %zmm1, %zmm3, %k2
|
||||||
; KNL-NEXT: vpbroadcastd %eax, %zmm3 {%k2} {z}
|
; KNL-NEXT: vpternlogd $255, %zmm3, %zmm3, %zmm3 {%k2} {z}
|
||||||
; KNL-NEXT: vpmovdb %zmm3, %xmm3
|
; KNL-NEXT: vpmovdb %zmm3, %xmm3
|
||||||
; KNL-NEXT: vmovups 68(%rdi), %zmm4 {%k2} {z}
|
; KNL-NEXT: vmovups 68(%rdi), %zmm4 {%k2} {z}
|
||||||
; KNL-NEXT: vmovups 4(%rdi), %zmm5 {%k1} {z}
|
; KNL-NEXT: vmovups 4(%rdi), %zmm5 {%k1} {z}
|
||||||
; KNL-NEXT: vcmpltps %zmm5, %zmm0, %k1
|
; KNL-NEXT: vcmpltps %zmm5, %zmm0, %k1
|
||||||
; KNL-NEXT: vpbroadcastd %eax, %zmm5 {%k1} {z}
|
; KNL-NEXT: vpternlogd $255, %zmm5, %zmm5, %zmm5 {%k1} {z}
|
||||||
; KNL-NEXT: vpmovdb %zmm5, %xmm5
|
; KNL-NEXT: vpmovdb %zmm5, %xmm5
|
||||||
; KNL-NEXT: vpor %xmm5, %xmm2, %xmm2
|
; KNL-NEXT: vpor %xmm5, %xmm2, %xmm2
|
||||||
; KNL-NEXT: vcmpltps %zmm4, %zmm1, %k1
|
; KNL-NEXT: vcmpltps %zmm4, %zmm1, %k1
|
||||||
; KNL-NEXT: vpbroadcastd %eax, %zmm4 {%k1} {z}
|
; KNL-NEXT: vpternlogd $255, %zmm4, %zmm4, %zmm4 {%k1} {z}
|
||||||
; KNL-NEXT: vpmovdb %zmm4, %xmm4
|
; KNL-NEXT: vpmovdb %zmm4, %xmm4
|
||||||
; KNL-NEXT: vpor %xmm4, %xmm3, %xmm3
|
; KNL-NEXT: vpor %xmm4, %xmm3, %xmm3
|
||||||
; KNL-NEXT: vpmovsxbd %xmm3, %zmm3
|
; KNL-NEXT: vpmovsxbd %xmm3, %zmm3
|
||||||
|
@ -1886,20 +1885,19 @@ define void @ktest_2(<32 x float> %in, float * %base) {
|
||||||
; AVX512DQ-NEXT: vmovups (%rdi), %zmm2
|
; AVX512DQ-NEXT: vmovups (%rdi), %zmm2
|
||||||
; AVX512DQ-NEXT: vmovups 64(%rdi), %zmm3
|
; AVX512DQ-NEXT: vmovups 64(%rdi), %zmm3
|
||||||
; AVX512DQ-NEXT: vcmpltps %zmm0, %zmm2, %k1
|
; AVX512DQ-NEXT: vcmpltps %zmm0, %zmm2, %k1
|
||||||
; AVX512DQ-NEXT: movl {{.*}}(%rip), %eax
|
; AVX512DQ-NEXT: vpmovm2d %k1, %zmm2
|
||||||
; AVX512DQ-NEXT: vpbroadcastd %eax, %zmm2 {%k1} {z}
|
|
||||||
; AVX512DQ-NEXT: vpmovdb %zmm2, %xmm2
|
; AVX512DQ-NEXT: vpmovdb %zmm2, %xmm2
|
||||||
; AVX512DQ-NEXT: vcmpltps %zmm1, %zmm3, %k2
|
; AVX512DQ-NEXT: vcmpltps %zmm1, %zmm3, %k2
|
||||||
; AVX512DQ-NEXT: vpbroadcastd %eax, %zmm3 {%k2} {z}
|
; AVX512DQ-NEXT: vpmovm2d %k2, %zmm3
|
||||||
; AVX512DQ-NEXT: vpmovdb %zmm3, %xmm3
|
; AVX512DQ-NEXT: vpmovdb %zmm3, %xmm3
|
||||||
; AVX512DQ-NEXT: vmovups 68(%rdi), %zmm4 {%k2} {z}
|
; AVX512DQ-NEXT: vmovups 68(%rdi), %zmm4 {%k2} {z}
|
||||||
; AVX512DQ-NEXT: vmovups 4(%rdi), %zmm5 {%k1} {z}
|
; AVX512DQ-NEXT: vmovups 4(%rdi), %zmm5 {%k1} {z}
|
||||||
; AVX512DQ-NEXT: vcmpltps %zmm5, %zmm0, %k1
|
; AVX512DQ-NEXT: vcmpltps %zmm5, %zmm0, %k0
|
||||||
; AVX512DQ-NEXT: vpbroadcastd %eax, %zmm5 {%k1} {z}
|
; AVX512DQ-NEXT: vpmovm2d %k0, %zmm5
|
||||||
; AVX512DQ-NEXT: vpmovdb %zmm5, %xmm5
|
; AVX512DQ-NEXT: vpmovdb %zmm5, %xmm5
|
||||||
; AVX512DQ-NEXT: vpor %xmm5, %xmm2, %xmm2
|
; AVX512DQ-NEXT: vpor %xmm5, %xmm2, %xmm2
|
||||||
; AVX512DQ-NEXT: vcmpltps %zmm4, %zmm1, %k1
|
; AVX512DQ-NEXT: vcmpltps %zmm4, %zmm1, %k0
|
||||||
; AVX512DQ-NEXT: vpbroadcastd %eax, %zmm4 {%k1} {z}
|
; AVX512DQ-NEXT: vpmovm2d %k0, %zmm4
|
||||||
; AVX512DQ-NEXT: vpmovdb %zmm4, %xmm4
|
; AVX512DQ-NEXT: vpmovdb %zmm4, %xmm4
|
||||||
; AVX512DQ-NEXT: vpor %xmm4, %xmm3, %xmm3
|
; AVX512DQ-NEXT: vpor %xmm4, %xmm3, %xmm3
|
||||||
; AVX512DQ-NEXT: vpmovsxbd %xmm3, %zmm3
|
; AVX512DQ-NEXT: vpmovsxbd %xmm3, %zmm3
|
||||||
|
|
|
@ -192,15 +192,14 @@ define i32 @test12_v32i32(<32 x i32> %a, <32 x i32> %b) nounwind {
|
||||||
; KNL-NEXT: andq $-32, %rsp
|
; KNL-NEXT: andq $-32, %rsp
|
||||||
; KNL-NEXT: subq $32, %rsp
|
; KNL-NEXT: subq $32, %rsp
|
||||||
; KNL-NEXT: vpcmpeqd %zmm3, %zmm1, %k1
|
; KNL-NEXT: vpcmpeqd %zmm3, %zmm1, %k1
|
||||||
; KNL-NEXT: movl {{.*}}(%rip), %eax
|
; KNL-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1 {%k1} {z}
|
||||||
; KNL-NEXT: vpbroadcastd %eax, %zmm1 {%k1} {z}
|
|
||||||
; KNL-NEXT: vpmovdb %zmm1, %xmm1
|
; KNL-NEXT: vpmovdb %zmm1, %xmm1
|
||||||
; KNL-NEXT: vpmovsxbd %xmm1, %zmm1
|
; KNL-NEXT: vpmovsxbd %xmm1, %zmm1
|
||||||
; KNL-NEXT: vpslld $31, %zmm1, %zmm1
|
; KNL-NEXT: vpslld $31, %zmm1, %zmm1
|
||||||
; KNL-NEXT: vptestmd %zmm1, %zmm1, %k0
|
; KNL-NEXT: vptestmd %zmm1, %zmm1, %k0
|
||||||
; KNL-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; KNL-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; KNL-NEXT: vpcmpeqd %zmm2, %zmm0, %k1
|
; KNL-NEXT: vpcmpeqd %zmm2, %zmm0, %k1
|
||||||
; KNL-NEXT: vpbroadcastd %eax, %zmm0 {%k1} {z}
|
; KNL-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; KNL-NEXT: vpmovdb %zmm0, %xmm0
|
; KNL-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; KNL-NEXT: vpmovsxbd %xmm0, %zmm0
|
; KNL-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; KNL-NEXT: vpslld $31, %zmm0, %zmm0
|
; KNL-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
|
|
@ -101,7 +101,7 @@ define zeroext i32 @test_masked_vpcmpeqb_v16i1_v32i1_mask(i16 zeroext %__u, <2 x
|
||||||
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -147,7 +147,7 @@ define zeroext i32 @test_masked_vpcmpeqb_v16i1_v32i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -282,7 +282,7 @@ define zeroext i64 @test_masked_vpcmpeqb_v16i1_v64i1_mask(i16 zeroext %__u, <2 x
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -333,7 +333,7 @@ define zeroext i64 @test_masked_vpcmpeqb_v16i1_v64i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -1354,7 +1354,7 @@ define zeroext i32 @test_masked_vpcmpeqw_v16i1_v32i1_mask(i16 zeroext %__u, <4 x
|
||||||
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -1401,7 +1401,7 @@ define zeroext i32 @test_masked_vpcmpeqw_v16i1_v32i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -1543,7 +1543,7 @@ define zeroext i64 @test_masked_vpcmpeqw_v16i1_v64i1_mask(i16 zeroext %__u, <4 x
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -1595,7 +1595,7 @@ define zeroext i64 @test_masked_vpcmpeqw_v16i1_v64i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -4799,7 +4799,7 @@ define zeroext i32 @test_vpcmpeqd_v16i1_v32i1_mask(<8 x i64> %__a, <8 x i64> %__
|
||||||
; NoVLX-NEXT: vpcmpeqd %zmm1, %zmm0, %k1
|
; NoVLX-NEXT: vpcmpeqd %zmm1, %zmm0, %k1
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -4839,7 +4839,7 @@ define zeroext i32 @test_vpcmpeqd_v16i1_v32i1_mask_mem(<8 x i64> %__a, <8 x i64>
|
||||||
; NoVLX-NEXT: vpcmpeqd (%rdi), %zmm0, %k1
|
; NoVLX-NEXT: vpcmpeqd (%rdi), %zmm0, %k1
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -4882,7 +4882,7 @@ define zeroext i32 @test_masked_vpcmpeqd_v16i1_v32i1_mask(i16 zeroext %__u, <8 x
|
||||||
; NoVLX-NEXT: vpcmpeqd %zmm1, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vpcmpeqd %zmm1, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -4926,7 +4926,7 @@ define zeroext i32 @test_masked_vpcmpeqd_v16i1_v32i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: vpcmpeqd (%rsi), %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vpcmpeqd (%rsi), %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -4970,7 +4970,7 @@ define zeroext i32 @test_vpcmpeqd_v16i1_v32i1_mask_mem_b(<8 x i64> %__a, i32* %_
|
||||||
; NoVLX-NEXT: vpcmpeqd (%rdi){1to16}, %zmm0, %k1
|
; NoVLX-NEXT: vpcmpeqd (%rdi){1to16}, %zmm0, %k1
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -5014,7 +5014,7 @@ define zeroext i32 @test_masked_vpcmpeqd_v16i1_v32i1_mask_mem_b(i16 zeroext %__u
|
||||||
; NoVLX-NEXT: vpcmpeqd (%rsi){1to16}, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vpcmpeqd (%rsi){1to16}, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -5061,7 +5061,7 @@ define zeroext i64 @test_vpcmpeqd_v16i1_v64i1_mask(<8 x i64> %__a, <8 x i64> %__
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -5106,7 +5106,7 @@ define zeroext i64 @test_vpcmpeqd_v16i1_v64i1_mask_mem(<8 x i64> %__a, <8 x i64>
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -5154,7 +5154,7 @@ define zeroext i64 @test_masked_vpcmpeqd_v16i1_v64i1_mask(i16 zeroext %__u, <8 x
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -5203,7 +5203,7 @@ define zeroext i64 @test_masked_vpcmpeqd_v16i1_v64i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -5252,7 +5252,7 @@ define zeroext i64 @test_vpcmpeqd_v16i1_v64i1_mask_mem_b(<8 x i64> %__a, i32* %_
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -5301,7 +5301,7 @@ define zeroext i64 @test_masked_vpcmpeqd_v16i1_v64i1_mask_mem_b(i16 zeroext %__u
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -9211,7 +9211,7 @@ define zeroext i32 @test_masked_vpcmpsgtb_v16i1_v32i1_mask(i16 zeroext %__u, <2
|
||||||
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -9257,7 +9257,7 @@ define zeroext i32 @test_masked_vpcmpsgtb_v16i1_v32i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -9392,7 +9392,7 @@ define zeroext i64 @test_masked_vpcmpsgtb_v16i1_v64i1_mask(i16 zeroext %__u, <2
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -9443,7 +9443,7 @@ define zeroext i64 @test_masked_vpcmpsgtb_v16i1_v64i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -10464,7 +10464,7 @@ define zeroext i32 @test_masked_vpcmpsgtw_v16i1_v32i1_mask(i16 zeroext %__u, <4
|
||||||
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -10511,7 +10511,7 @@ define zeroext i32 @test_masked_vpcmpsgtw_v16i1_v32i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -10653,7 +10653,7 @@ define zeroext i64 @test_masked_vpcmpsgtw_v16i1_v64i1_mask(i16 zeroext %__u, <4
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -10705,7 +10705,7 @@ define zeroext i64 @test_masked_vpcmpsgtw_v16i1_v64i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -13909,7 +13909,7 @@ define zeroext i32 @test_vpcmpsgtd_v16i1_v32i1_mask(<8 x i64> %__a, <8 x i64> %_
|
||||||
; NoVLX-NEXT: vpcmpgtd %zmm1, %zmm0, %k1
|
; NoVLX-NEXT: vpcmpgtd %zmm1, %zmm0, %k1
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -13949,7 +13949,7 @@ define zeroext i32 @test_vpcmpsgtd_v16i1_v32i1_mask_mem(<8 x i64> %__a, <8 x i64
|
||||||
; NoVLX-NEXT: vpcmpgtd (%rdi), %zmm0, %k1
|
; NoVLX-NEXT: vpcmpgtd (%rdi), %zmm0, %k1
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -13992,7 +13992,7 @@ define zeroext i32 @test_masked_vpcmpsgtd_v16i1_v32i1_mask(i16 zeroext %__u, <8
|
||||||
; NoVLX-NEXT: vpcmpgtd %zmm1, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vpcmpgtd %zmm1, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -14036,7 +14036,7 @@ define zeroext i32 @test_masked_vpcmpsgtd_v16i1_v32i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: vpcmpgtd (%rsi), %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vpcmpgtd (%rsi), %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -14080,7 +14080,7 @@ define zeroext i32 @test_vpcmpsgtd_v16i1_v32i1_mask_mem_b(<8 x i64> %__a, i32* %
|
||||||
; NoVLX-NEXT: vpcmpgtd (%rdi){1to16}, %zmm0, %k1
|
; NoVLX-NEXT: vpcmpgtd (%rdi){1to16}, %zmm0, %k1
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -14124,7 +14124,7 @@ define zeroext i32 @test_masked_vpcmpsgtd_v16i1_v32i1_mask_mem_b(i16 zeroext %__
|
||||||
; NoVLX-NEXT: vpcmpgtd (%rsi){1to16}, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vpcmpgtd (%rsi){1to16}, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -14171,7 +14171,7 @@ define zeroext i64 @test_vpcmpsgtd_v16i1_v64i1_mask(<8 x i64> %__a, <8 x i64> %_
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -14216,7 +14216,7 @@ define zeroext i64 @test_vpcmpsgtd_v16i1_v64i1_mask_mem(<8 x i64> %__a, <8 x i64
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -14264,7 +14264,7 @@ define zeroext i64 @test_masked_vpcmpsgtd_v16i1_v64i1_mask(i16 zeroext %__u, <8
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -14313,7 +14313,7 @@ define zeroext i64 @test_masked_vpcmpsgtd_v16i1_v64i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -14362,7 +14362,7 @@ define zeroext i64 @test_vpcmpsgtd_v16i1_v64i1_mask_mem_b(<8 x i64> %__a, i32* %
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -14411,7 +14411,7 @@ define zeroext i64 @test_masked_vpcmpsgtd_v16i1_v64i1_mask_mem_b(i16 zeroext %__
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -18328,7 +18328,7 @@ define zeroext i32 @test_masked_vpcmpsgeb_v16i1_v32i1_mask(i16 zeroext %__u, <2
|
||||||
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -18377,7 +18377,7 @@ define zeroext i32 @test_masked_vpcmpsgeb_v16i1_v32i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -18519,7 +18519,7 @@ define zeroext i64 @test_masked_vpcmpsgeb_v16i1_v64i1_mask(i16 zeroext %__u, <2
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -18573,7 +18573,7 @@ define zeroext i64 @test_masked_vpcmpsgeb_v16i1_v64i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -19641,7 +19641,7 @@ define zeroext i32 @test_masked_vpcmpsgew_v16i1_v32i1_mask(i16 zeroext %__u, <4
|
||||||
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -19691,7 +19691,7 @@ define zeroext i32 @test_masked_vpcmpsgew_v16i1_v32i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -19840,7 +19840,7 @@ define zeroext i64 @test_masked_vpcmpsgew_v16i1_v64i1_mask(i16 zeroext %__u, <4
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -19895,7 +19895,7 @@ define zeroext i64 @test_masked_vpcmpsgew_v16i1_v64i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -23147,7 +23147,7 @@ define zeroext i32 @test_vpcmpsged_v16i1_v32i1_mask(<8 x i64> %__a, <8 x i64> %_
|
||||||
; NoVLX-NEXT: vpcmpled %zmm0, %zmm1, %k1
|
; NoVLX-NEXT: vpcmpled %zmm0, %zmm1, %k1
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -23187,7 +23187,7 @@ define zeroext i32 @test_vpcmpsged_v16i1_v32i1_mask_mem(<8 x i64> %__a, <8 x i64
|
||||||
; NoVLX-NEXT: vpcmpnltd (%rdi), %zmm0, %k1
|
; NoVLX-NEXT: vpcmpnltd (%rdi), %zmm0, %k1
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -23230,7 +23230,7 @@ define zeroext i32 @test_masked_vpcmpsged_v16i1_v32i1_mask(i16 zeroext %__u, <8
|
||||||
; NoVLX-NEXT: vpcmpled %zmm0, %zmm1, %k1 {%k1}
|
; NoVLX-NEXT: vpcmpled %zmm0, %zmm1, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -23274,7 +23274,7 @@ define zeroext i32 @test_masked_vpcmpsged_v16i1_v32i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: vpcmpnltd (%rsi), %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vpcmpnltd (%rsi), %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -23318,7 +23318,7 @@ define zeroext i32 @test_vpcmpsged_v16i1_v32i1_mask_mem_b(<8 x i64> %__a, i32* %
|
||||||
; NoVLX-NEXT: vpcmpnltd (%rdi){1to16}, %zmm0, %k1
|
; NoVLX-NEXT: vpcmpnltd (%rdi){1to16}, %zmm0, %k1
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -23362,7 +23362,7 @@ define zeroext i32 @test_masked_vpcmpsged_v16i1_v32i1_mask_mem_b(i16 zeroext %__
|
||||||
; NoVLX-NEXT: vpcmpnltd (%rsi){1to16}, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vpcmpnltd (%rsi){1to16}, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -23409,7 +23409,7 @@ define zeroext i64 @test_vpcmpsged_v16i1_v64i1_mask(<8 x i64> %__a, <8 x i64> %_
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -23454,7 +23454,7 @@ define zeroext i64 @test_vpcmpsged_v16i1_v64i1_mask_mem(<8 x i64> %__a, <8 x i64
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -23502,7 +23502,7 @@ define zeroext i64 @test_masked_vpcmpsged_v16i1_v64i1_mask(i16 zeroext %__u, <8
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -23551,7 +23551,7 @@ define zeroext i64 @test_masked_vpcmpsged_v16i1_v64i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -23600,7 +23600,7 @@ define zeroext i64 @test_vpcmpsged_v16i1_v64i1_mask_mem_b(<8 x i64> %__a, i32* %
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -23649,7 +23649,7 @@ define zeroext i64 @test_masked_vpcmpsged_v16i1_v64i1_mask_mem_b(i16 zeroext %__
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -27664,7 +27664,7 @@ define zeroext i32 @test_masked_vpcmpultb_v16i1_v32i1_mask(i16 zeroext %__u, <2
|
||||||
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -27713,7 +27713,7 @@ define zeroext i32 @test_masked_vpcmpultb_v16i1_v32i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -27857,7 +27857,7 @@ define zeroext i64 @test_masked_vpcmpultb_v16i1_v64i1_mask(i16 zeroext %__u, <2
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -27911,7 +27911,7 @@ define zeroext i64 @test_masked_vpcmpultb_v16i1_v64i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -28989,7 +28989,7 @@ define zeroext i32 @test_masked_vpcmpultw_v16i1_v32i1_mask(i16 zeroext %__u, <4
|
||||||
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -29039,7 +29039,7 @@ define zeroext i32 @test_masked_vpcmpultw_v16i1_v32i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vptestmd %zmm0, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -29190,7 +29190,7 @@ define zeroext i64 @test_masked_vpcmpultw_v16i1_v64i1_mask(i16 zeroext %__u, <4
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -29245,7 +29245,7 @@ define zeroext i64 @test_masked_vpcmpultw_v16i1_v64i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -32541,7 +32541,7 @@ define zeroext i32 @test_vpcmpultd_v16i1_v32i1_mask(<8 x i64> %__a, <8 x i64> %_
|
||||||
; NoVLX-NEXT: vpcmpltud %zmm1, %zmm0, %k1
|
; NoVLX-NEXT: vpcmpltud %zmm1, %zmm0, %k1
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -32581,7 +32581,7 @@ define zeroext i32 @test_vpcmpultd_v16i1_v32i1_mask_mem(<8 x i64> %__a, <8 x i64
|
||||||
; NoVLX-NEXT: vpcmpltud (%rdi), %zmm0, %k1
|
; NoVLX-NEXT: vpcmpltud (%rdi), %zmm0, %k1
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -32624,7 +32624,7 @@ define zeroext i32 @test_masked_vpcmpultd_v16i1_v32i1_mask(i16 zeroext %__u, <8
|
||||||
; NoVLX-NEXT: vpcmpltud %zmm1, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vpcmpltud %zmm1, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -32668,7 +32668,7 @@ define zeroext i32 @test_masked_vpcmpultd_v16i1_v32i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: vpcmpltud (%rsi), %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vpcmpltud (%rsi), %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -32712,7 +32712,7 @@ define zeroext i32 @test_vpcmpultd_v16i1_v32i1_mask_mem_b(<8 x i64> %__a, i32* %
|
||||||
; NoVLX-NEXT: vpcmpltud (%rdi){1to16}, %zmm0, %k1
|
; NoVLX-NEXT: vpcmpltud (%rdi){1to16}, %zmm0, %k1
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -32756,7 +32756,7 @@ define zeroext i32 @test_masked_vpcmpultd_v16i1_v32i1_mask_mem_b(i16 zeroext %__
|
||||||
; NoVLX-NEXT: vpcmpltud (%rsi){1to16}, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vpcmpltud (%rsi){1to16}, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -32803,7 +32803,7 @@ define zeroext i64 @test_vpcmpultd_v16i1_v64i1_mask(<8 x i64> %__a, <8 x i64> %_
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -32848,7 +32848,7 @@ define zeroext i64 @test_vpcmpultd_v16i1_v64i1_mask_mem(<8 x i64> %__a, <8 x i64
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -32896,7 +32896,7 @@ define zeroext i64 @test_masked_vpcmpultd_v16i1_v64i1_mask(i16 zeroext %__u, <8
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -32945,7 +32945,7 @@ define zeroext i64 @test_masked_vpcmpultd_v16i1_v64i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -32994,7 +32994,7 @@ define zeroext i64 @test_vpcmpultd_v16i1_v64i1_mask_mem_b(<8 x i64> %__a, i32* %
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -33043,7 +33043,7 @@ define zeroext i64 @test_masked_vpcmpultd_v16i1_v64i1_mask_mem_b(i16 zeroext %__
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -39363,7 +39363,7 @@ define zeroext i32 @test_vcmpoeqps_v16i1_v32i1_mask(<8 x i64> %__a, <8 x i64> %_
|
||||||
; NoVLX-NEXT: vcmpeqps %zmm1, %zmm0, %k1
|
; NoVLX-NEXT: vcmpeqps %zmm1, %zmm0, %k1
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -39403,7 +39403,7 @@ define zeroext i32 @test_vcmpoeqps_v16i1_v32i1_mask_mem(<8 x i64> %__a, <8 x i64
|
||||||
; NoVLX-NEXT: vcmpeqps (%rdi), %zmm0, %k1
|
; NoVLX-NEXT: vcmpeqps (%rdi), %zmm0, %k1
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -39444,7 +39444,7 @@ define zeroext i32 @test_vcmpoeqps_v16i1_v32i1_mask_mem_b(<8 x i64> %__a, float*
|
||||||
; NoVLX-NEXT: vcmpeqps (%rdi){1to16}, %zmm0, %k1
|
; NoVLX-NEXT: vcmpeqps (%rdi){1to16}, %zmm0, %k1
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -39488,7 +39488,7 @@ define zeroext i32 @test_masked_vcmpoeqps_v16i1_v32i1_mask(i16 zeroext %__u, <8
|
||||||
; NoVLX-NEXT: vcmpeqps %zmm1, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vcmpeqps %zmm1, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -39532,7 +39532,7 @@ define zeroext i32 @test_masked_vcmpoeqps_v16i1_v32i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: vcmpeqps (%rsi), %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vcmpeqps (%rsi), %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -39577,7 +39577,7 @@ define zeroext i32 @test_masked_vcmpoeqps_v16i1_v32i1_mask_mem_b(i16 zeroext %__
|
||||||
; NoVLX-NEXT: vcmpeqps (%rsi){1to16}, %zmm0, %k1 {%k1}
|
; NoVLX-NEXT: vcmpeqps (%rsi){1to16}, %zmm0, %k1 {%k1}
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -39666,7 +39666,7 @@ define zeroext i64 @test_vcmpoeqps_v16i1_v64i1_mask(<8 x i64> %__a, <8 x i64> %_
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -39711,7 +39711,7 @@ define zeroext i64 @test_vcmpoeqps_v16i1_v64i1_mask_mem(<8 x i64> %__a, <8 x i64
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -39757,7 +39757,7 @@ define zeroext i64 @test_vcmpoeqps_v16i1_v64i1_mask_mem_b(<8 x i64> %__a, float*
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -39806,7 +39806,7 @@ define zeroext i64 @test_masked_vcmpoeqps_v16i1_v64i1_mask(i16 zeroext %__u, <8
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -39855,7 +39855,7 @@ define zeroext i64 @test_masked_vcmpoeqps_v16i1_v64i1_mask_mem(i16 zeroext %__u,
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -39905,7 +39905,7 @@ define zeroext i64 @test_masked_vcmpoeqps_v16i1_v64i1_mask_mem_b(i16 zeroext %__
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
@ -43827,7 +43827,7 @@ define i32 @test_cmpm_rnd_zero(<16 x float> %a, <16 x float> %b) {
|
||||||
; NoVLX-NEXT: vcmpleps {sae}, %zmm1, %zmm0, %k1
|
; NoVLX-NEXT: vcmpleps {sae}, %zmm1, %zmm0, %k1
|
||||||
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
; NoVLX-NEXT: kxorw %k0, %k0, %k0
|
||||||
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
; NoVLX-NEXT: kmovw %k0, {{[0-9]+}}(%rsp)
|
||||||
; NoVLX-NEXT: vpbroadcastd {{.*}}(%rip), %zmm0 {%k1} {z}
|
; NoVLX-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
; NoVLX-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
; NoVLX-NEXT: vpmovsxbd %xmm0, %zmm0
|
||||||
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
; NoVLX-NEXT: vpslld $31, %zmm0, %zmm0
|
||||||
|
|
|
@ -2384,11 +2384,10 @@ define <32 x i1> @test_cmp_v32f32(<32 x float> %a0, <32 x float> %a1) nounwind {
|
||||||
; AVX512F-LABEL: test_cmp_v32f32:
|
; AVX512F-LABEL: test_cmp_v32f32:
|
||||||
; AVX512F: # %bb.0:
|
; AVX512F: # %bb.0:
|
||||||
; AVX512F-NEXT: vcmpltps %zmm0, %zmm2, %k1
|
; AVX512F-NEXT: vcmpltps %zmm0, %zmm2, %k1
|
||||||
; AVX512F-NEXT: movl {{.*}}(%rip), %eax
|
; AVX512F-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; AVX512F-NEXT: vpbroadcastd %eax, %zmm0 {%k1} {z}
|
|
||||||
; AVX512F-NEXT: vpmovdb %zmm0, %xmm0
|
; AVX512F-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; AVX512F-NEXT: vcmpltps %zmm1, %zmm3, %k1
|
; AVX512F-NEXT: vcmpltps %zmm1, %zmm3, %k1
|
||||||
; AVX512F-NEXT: vpbroadcastd %eax, %zmm1 {%k1} {z}
|
; AVX512F-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1 {%k1} {z}
|
||||||
; AVX512F-NEXT: vpmovdb %zmm1, %xmm1
|
; AVX512F-NEXT: vpmovdb %zmm1, %xmm1
|
||||||
; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
|
; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
|
||||||
; AVX512F-NEXT: vpsllw $7, %ymm0, %ymm0
|
; AVX512F-NEXT: vpsllw $7, %ymm0, %ymm0
|
||||||
|
@ -2399,12 +2398,11 @@ define <32 x i1> @test_cmp_v32f32(<32 x float> %a0, <32 x float> %a1) nounwind {
|
||||||
;
|
;
|
||||||
; AVX512DQ-LABEL: test_cmp_v32f32:
|
; AVX512DQ-LABEL: test_cmp_v32f32:
|
||||||
; AVX512DQ: # %bb.0:
|
; AVX512DQ: # %bb.0:
|
||||||
; AVX512DQ-NEXT: vcmpltps %zmm0, %zmm2, %k1
|
; AVX512DQ-NEXT: vcmpltps %zmm0, %zmm2, %k0
|
||||||
; AVX512DQ-NEXT: movl {{.*}}(%rip), %eax
|
; AVX512DQ-NEXT: vpmovm2d %k0, %zmm0
|
||||||
; AVX512DQ-NEXT: vpbroadcastd %eax, %zmm0 {%k1} {z}
|
|
||||||
; AVX512DQ-NEXT: vpmovdb %zmm0, %xmm0
|
; AVX512DQ-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; AVX512DQ-NEXT: vcmpltps %zmm1, %zmm3, %k1
|
; AVX512DQ-NEXT: vcmpltps %zmm1, %zmm3, %k0
|
||||||
; AVX512DQ-NEXT: vpbroadcastd %eax, %zmm1 {%k1} {z}
|
; AVX512DQ-NEXT: vpmovm2d %k0, %zmm1
|
||||||
; AVX512DQ-NEXT: vpmovdb %zmm1, %xmm1
|
; AVX512DQ-NEXT: vpmovdb %zmm1, %xmm1
|
||||||
; AVX512DQ-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
|
; AVX512DQ-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
|
||||||
; AVX512DQ-NEXT: vpsllw $7, %ymm0, %ymm0
|
; AVX512DQ-NEXT: vpsllw $7, %ymm0, %ymm0
|
||||||
|
@ -2893,11 +2891,10 @@ define <32 x i1> @test_cmp_v32i32(<32 x i32> %a0, <32 x i32> %a1) nounwind {
|
||||||
; AVX512F-LABEL: test_cmp_v32i32:
|
; AVX512F-LABEL: test_cmp_v32i32:
|
||||||
; AVX512F: # %bb.0:
|
; AVX512F: # %bb.0:
|
||||||
; AVX512F-NEXT: vpcmpgtd %zmm2, %zmm0, %k1
|
; AVX512F-NEXT: vpcmpgtd %zmm2, %zmm0, %k1
|
||||||
; AVX512F-NEXT: movl {{.*}}(%rip), %eax
|
; AVX512F-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; AVX512F-NEXT: vpbroadcastd %eax, %zmm0 {%k1} {z}
|
|
||||||
; AVX512F-NEXT: vpmovdb %zmm0, %xmm0
|
; AVX512F-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; AVX512F-NEXT: vpcmpgtd %zmm3, %zmm1, %k1
|
; AVX512F-NEXT: vpcmpgtd %zmm3, %zmm1, %k1
|
||||||
; AVX512F-NEXT: vpbroadcastd %eax, %zmm1 {%k1} {z}
|
; AVX512F-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1 {%k1} {z}
|
||||||
; AVX512F-NEXT: vpmovdb %zmm1, %xmm1
|
; AVX512F-NEXT: vpmovdb %zmm1, %xmm1
|
||||||
; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
|
; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
|
||||||
; AVX512F-NEXT: vpsllw $7, %ymm0, %ymm0
|
; AVX512F-NEXT: vpsllw $7, %ymm0, %ymm0
|
||||||
|
@ -2908,12 +2905,11 @@ define <32 x i1> @test_cmp_v32i32(<32 x i32> %a0, <32 x i32> %a1) nounwind {
|
||||||
;
|
;
|
||||||
; AVX512DQ-LABEL: test_cmp_v32i32:
|
; AVX512DQ-LABEL: test_cmp_v32i32:
|
||||||
; AVX512DQ: # %bb.0:
|
; AVX512DQ: # %bb.0:
|
||||||
; AVX512DQ-NEXT: vpcmpgtd %zmm2, %zmm0, %k1
|
; AVX512DQ-NEXT: vpcmpgtd %zmm2, %zmm0, %k0
|
||||||
; AVX512DQ-NEXT: movl {{.*}}(%rip), %eax
|
; AVX512DQ-NEXT: vpmovm2d %k0, %zmm0
|
||||||
; AVX512DQ-NEXT: vpbroadcastd %eax, %zmm0 {%k1} {z}
|
|
||||||
; AVX512DQ-NEXT: vpmovdb %zmm0, %xmm0
|
; AVX512DQ-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; AVX512DQ-NEXT: vpcmpgtd %zmm3, %zmm1, %k1
|
; AVX512DQ-NEXT: vpcmpgtd %zmm3, %zmm1, %k0
|
||||||
; AVX512DQ-NEXT: vpbroadcastd %eax, %zmm1 {%k1} {z}
|
; AVX512DQ-NEXT: vpmovm2d %k0, %zmm1
|
||||||
; AVX512DQ-NEXT: vpmovdb %zmm1, %xmm1
|
; AVX512DQ-NEXT: vpmovdb %zmm1, %xmm1
|
||||||
; AVX512DQ-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
|
; AVX512DQ-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
|
||||||
; AVX512DQ-NEXT: vpsllw $7, %ymm0, %ymm0
|
; AVX512DQ-NEXT: vpsllw $7, %ymm0, %ymm0
|
||||||
|
@ -5965,13 +5961,12 @@ define <32 x i1> @test_cmp_v32f64(<32 x double> %a0, <32 x double> %a1) nounwind
|
||||||
; AVX512F-NEXT: vcmpltpd %zmm0, %zmm4, %k0
|
; AVX512F-NEXT: vcmpltpd %zmm0, %zmm4, %k0
|
||||||
; AVX512F-NEXT: vcmpltpd %zmm1, %zmm5, %k1
|
; AVX512F-NEXT: vcmpltpd %zmm1, %zmm5, %k1
|
||||||
; AVX512F-NEXT: kunpckbw %k0, %k1, %k1
|
; AVX512F-NEXT: kunpckbw %k0, %k1, %k1
|
||||||
; AVX512F-NEXT: movl {{.*}}(%rip), %eax
|
; AVX512F-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; AVX512F-NEXT: vpbroadcastd %eax, %zmm0 {%k1} {z}
|
|
||||||
; AVX512F-NEXT: vpmovdb %zmm0, %xmm0
|
; AVX512F-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; AVX512F-NEXT: vcmpltpd %zmm2, %zmm6, %k0
|
; AVX512F-NEXT: vcmpltpd %zmm2, %zmm6, %k0
|
||||||
; AVX512F-NEXT: vcmpltpd %zmm3, %zmm7, %k1
|
; AVX512F-NEXT: vcmpltpd %zmm3, %zmm7, %k1
|
||||||
; AVX512F-NEXT: kunpckbw %k0, %k1, %k1
|
; AVX512F-NEXT: kunpckbw %k0, %k1, %k1
|
||||||
; AVX512F-NEXT: vpbroadcastd %eax, %zmm1 {%k1} {z}
|
; AVX512F-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1 {%k1} {z}
|
||||||
; AVX512F-NEXT: vpmovdb %zmm1, %xmm1
|
; AVX512F-NEXT: vpmovdb %zmm1, %xmm1
|
||||||
; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
|
; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
|
||||||
; AVX512F-NEXT: vpsllw $7, %ymm0, %ymm0
|
; AVX512F-NEXT: vpsllw $7, %ymm0, %ymm0
|
||||||
|
@ -5984,14 +5979,13 @@ define <32 x i1> @test_cmp_v32f64(<32 x double> %a0, <32 x double> %a1) nounwind
|
||||||
; AVX512DQ: # %bb.0:
|
; AVX512DQ: # %bb.0:
|
||||||
; AVX512DQ-NEXT: vcmpltpd %zmm0, %zmm4, %k0
|
; AVX512DQ-NEXT: vcmpltpd %zmm0, %zmm4, %k0
|
||||||
; AVX512DQ-NEXT: vcmpltpd %zmm1, %zmm5, %k1
|
; AVX512DQ-NEXT: vcmpltpd %zmm1, %zmm5, %k1
|
||||||
; AVX512DQ-NEXT: kunpckbw %k0, %k1, %k1
|
; AVX512DQ-NEXT: kunpckbw %k0, %k1, %k0
|
||||||
; AVX512DQ-NEXT: movl {{.*}}(%rip), %eax
|
; AVX512DQ-NEXT: vpmovm2d %k0, %zmm0
|
||||||
; AVX512DQ-NEXT: vpbroadcastd %eax, %zmm0 {%k1} {z}
|
|
||||||
; AVX512DQ-NEXT: vpmovdb %zmm0, %xmm0
|
; AVX512DQ-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; AVX512DQ-NEXT: vcmpltpd %zmm2, %zmm6, %k0
|
; AVX512DQ-NEXT: vcmpltpd %zmm2, %zmm6, %k0
|
||||||
; AVX512DQ-NEXT: vcmpltpd %zmm3, %zmm7, %k1
|
; AVX512DQ-NEXT: vcmpltpd %zmm3, %zmm7, %k1
|
||||||
; AVX512DQ-NEXT: kunpckbw %k0, %k1, %k1
|
; AVX512DQ-NEXT: kunpckbw %k0, %k1, %k0
|
||||||
; AVX512DQ-NEXT: vpbroadcastd %eax, %zmm1 {%k1} {z}
|
; AVX512DQ-NEXT: vpmovm2d %k0, %zmm1
|
||||||
; AVX512DQ-NEXT: vpmovdb %zmm1, %xmm1
|
; AVX512DQ-NEXT: vpmovdb %zmm1, %xmm1
|
||||||
; AVX512DQ-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
|
; AVX512DQ-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
|
||||||
; AVX512DQ-NEXT: vpsllw $7, %ymm0, %ymm0
|
; AVX512DQ-NEXT: vpsllw $7, %ymm0, %ymm0
|
||||||
|
@ -6588,13 +6582,12 @@ define <32 x i1> @test_cmp_v32i64(<32 x i64> %a0, <32 x i64> %a1) nounwind {
|
||||||
; AVX512F-NEXT: vpcmpgtq %zmm4, %zmm0, %k0
|
; AVX512F-NEXT: vpcmpgtq %zmm4, %zmm0, %k0
|
||||||
; AVX512F-NEXT: vpcmpgtq %zmm5, %zmm1, %k1
|
; AVX512F-NEXT: vpcmpgtq %zmm5, %zmm1, %k1
|
||||||
; AVX512F-NEXT: kunpckbw %k0, %k1, %k1
|
; AVX512F-NEXT: kunpckbw %k0, %k1, %k1
|
||||||
; AVX512F-NEXT: movl {{.*}}(%rip), %eax
|
; AVX512F-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0 {%k1} {z}
|
||||||
; AVX512F-NEXT: vpbroadcastd %eax, %zmm0 {%k1} {z}
|
|
||||||
; AVX512F-NEXT: vpmovdb %zmm0, %xmm0
|
; AVX512F-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; AVX512F-NEXT: vpcmpgtq %zmm6, %zmm2, %k0
|
; AVX512F-NEXT: vpcmpgtq %zmm6, %zmm2, %k0
|
||||||
; AVX512F-NEXT: vpcmpgtq %zmm7, %zmm3, %k1
|
; AVX512F-NEXT: vpcmpgtq %zmm7, %zmm3, %k1
|
||||||
; AVX512F-NEXT: kunpckbw %k0, %k1, %k1
|
; AVX512F-NEXT: kunpckbw %k0, %k1, %k1
|
||||||
; AVX512F-NEXT: vpbroadcastd %eax, %zmm1 {%k1} {z}
|
; AVX512F-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1 {%k1} {z}
|
||||||
; AVX512F-NEXT: vpmovdb %zmm1, %xmm1
|
; AVX512F-NEXT: vpmovdb %zmm1, %xmm1
|
||||||
; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
|
; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
|
||||||
; AVX512F-NEXT: vpsllw $7, %ymm0, %ymm0
|
; AVX512F-NEXT: vpsllw $7, %ymm0, %ymm0
|
||||||
|
@ -6607,14 +6600,13 @@ define <32 x i1> @test_cmp_v32i64(<32 x i64> %a0, <32 x i64> %a1) nounwind {
|
||||||
; AVX512DQ: # %bb.0:
|
; AVX512DQ: # %bb.0:
|
||||||
; AVX512DQ-NEXT: vpcmpgtq %zmm4, %zmm0, %k0
|
; AVX512DQ-NEXT: vpcmpgtq %zmm4, %zmm0, %k0
|
||||||
; AVX512DQ-NEXT: vpcmpgtq %zmm5, %zmm1, %k1
|
; AVX512DQ-NEXT: vpcmpgtq %zmm5, %zmm1, %k1
|
||||||
; AVX512DQ-NEXT: kunpckbw %k0, %k1, %k1
|
; AVX512DQ-NEXT: kunpckbw %k0, %k1, %k0
|
||||||
; AVX512DQ-NEXT: movl {{.*}}(%rip), %eax
|
; AVX512DQ-NEXT: vpmovm2d %k0, %zmm0
|
||||||
; AVX512DQ-NEXT: vpbroadcastd %eax, %zmm0 {%k1} {z}
|
|
||||||
; AVX512DQ-NEXT: vpmovdb %zmm0, %xmm0
|
; AVX512DQ-NEXT: vpmovdb %zmm0, %xmm0
|
||||||
; AVX512DQ-NEXT: vpcmpgtq %zmm6, %zmm2, %k0
|
; AVX512DQ-NEXT: vpcmpgtq %zmm6, %zmm2, %k0
|
||||||
; AVX512DQ-NEXT: vpcmpgtq %zmm7, %zmm3, %k1
|
; AVX512DQ-NEXT: vpcmpgtq %zmm7, %zmm3, %k1
|
||||||
; AVX512DQ-NEXT: kunpckbw %k0, %k1, %k1
|
; AVX512DQ-NEXT: kunpckbw %k0, %k1, %k0
|
||||||
; AVX512DQ-NEXT: vpbroadcastd %eax, %zmm1 {%k1} {z}
|
; AVX512DQ-NEXT: vpmovm2d %k0, %zmm1
|
||||||
; AVX512DQ-NEXT: vpmovdb %zmm1, %xmm1
|
; AVX512DQ-NEXT: vpmovdb %zmm1, %xmm1
|
||||||
; AVX512DQ-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
|
; AVX512DQ-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
|
||||||
; AVX512DQ-NEXT: vpsllw $7, %ymm0, %ymm0
|
; AVX512DQ-NEXT: vpsllw $7, %ymm0, %ymm0
|
||||||
|
|
Loading…
Reference in New Issue