mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-08 03:30:22 +00:00
[AVX512] Added intrinsics for 128-, 256- and 512-bit versions of VCMPGT{BWDQ}.
Patch by Sergey Lisitsyn <sergey.lisitsyn@intel.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218670 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
175ff01f0f
commit
8acdc5232d
@ -3250,6 +3250,19 @@ let TargetPrefix = "x86" in {
|
||||
Intrinsic<[llvm_i8_ty], [llvm_v8i64_ty, llvm_v8i64_ty, llvm_i8_ty],
|
||||
[IntrNoMem]>;
|
||||
|
||||
def int_x86_avx512_mask_pcmpgt_b_512: GCCBuiltin<"__builtin_ia32_pcmpgtb512_mask">,
|
||||
Intrinsic<[llvm_i64_ty], [llvm_v64i8_ty, llvm_v64i8_ty, llvm_i64_ty],
|
||||
[IntrNoMem]>;
|
||||
def int_x86_avx512_mask_pcmpgt_w_512: GCCBuiltin<"__builtin_ia32_pcmpgtw512_mask">,
|
||||
Intrinsic<[llvm_i32_ty], [llvm_v32i16_ty, llvm_v32i16_ty, llvm_i32_ty],
|
||||
[IntrNoMem]>;
|
||||
def int_x86_avx512_mask_pcmpgt_d_512: GCCBuiltin<"__builtin_ia32_pcmpgtd512_mask">,
|
||||
Intrinsic<[llvm_i16_ty], [llvm_v16i32_ty, llvm_v16i32_ty, llvm_i16_ty],
|
||||
[IntrNoMem]>;
|
||||
def int_x86_avx512_mask_pcmpgt_q_512: GCCBuiltin<"__builtin_ia32_pcmpgtq512_mask">,
|
||||
Intrinsic<[llvm_i8_ty], [llvm_v8i64_ty, llvm_v8i64_ty, llvm_i8_ty],
|
||||
[IntrNoMem]>;
|
||||
|
||||
// 256-bit
|
||||
def int_x86_avx512_mask_pcmpeq_b_256 : GCCBuiltin<"__builtin_ia32_pcmpeqb256_mask">,
|
||||
Intrinsic<[llvm_i32_ty], [llvm_v32i8_ty, llvm_v32i8_ty, llvm_i32_ty],
|
||||
@ -3264,6 +3277,19 @@ let TargetPrefix = "x86" in {
|
||||
Intrinsic<[llvm_i8_ty], [llvm_v4i64_ty, llvm_v4i64_ty, llvm_i8_ty],
|
||||
[IntrNoMem]>;
|
||||
|
||||
def int_x86_avx512_mask_pcmpgt_b_256: GCCBuiltin<"__builtin_ia32_pcmpgtb256_mask">,
|
||||
Intrinsic<[llvm_i32_ty], [llvm_v32i8_ty, llvm_v32i8_ty, llvm_i32_ty],
|
||||
[IntrNoMem]>;
|
||||
def int_x86_avx512_mask_pcmpgt_w_256: GCCBuiltin<"__builtin_ia32_pcmpgtw256_mask">,
|
||||
Intrinsic<[llvm_i16_ty], [llvm_v16i16_ty, llvm_v16i16_ty, llvm_i16_ty],
|
||||
[IntrNoMem]>;
|
||||
def int_x86_avx512_mask_pcmpgt_d_256: GCCBuiltin<"__builtin_ia32_pcmpgtd256_mask">,
|
||||
Intrinsic<[llvm_i8_ty], [llvm_v8i32_ty, llvm_v8i32_ty, llvm_i8_ty],
|
||||
[IntrNoMem]>;
|
||||
def int_x86_avx512_mask_pcmpgt_q_256: GCCBuiltin<"__builtin_ia32_pcmpgtq256_mask">,
|
||||
Intrinsic<[llvm_i8_ty], [llvm_v4i64_ty, llvm_v4i64_ty, llvm_i8_ty],
|
||||
[IntrNoMem]>;
|
||||
|
||||
// 128-bit
|
||||
def int_x86_avx512_mask_pcmpeq_b_128 : GCCBuiltin<"__builtin_ia32_pcmpeqb128_mask">,
|
||||
Intrinsic<[llvm_i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_i16_ty],
|
||||
@ -3277,6 +3303,19 @@ let TargetPrefix = "x86" in {
|
||||
def int_x86_avx512_mask_pcmpeq_q_128 : GCCBuiltin<"__builtin_ia32_pcmpeqq128_mask">,
|
||||
Intrinsic<[llvm_i8_ty], [llvm_v2i64_ty, llvm_v2i64_ty, llvm_i8_ty],
|
||||
[IntrNoMem]>;
|
||||
|
||||
def int_x86_avx512_mask_pcmpgt_b_128: GCCBuiltin<"__builtin_ia32_pcmpgtb128_mask">,
|
||||
Intrinsic<[llvm_i16_ty], [llvm_v16i8_ty, llvm_v16i8_ty, llvm_i16_ty],
|
||||
[IntrNoMem]>;
|
||||
def int_x86_avx512_mask_pcmpgt_w_128: GCCBuiltin<"__builtin_ia32_pcmpgtw128_mask">,
|
||||
Intrinsic<[llvm_i8_ty], [llvm_v8i16_ty, llvm_v8i16_ty, llvm_i8_ty],
|
||||
[IntrNoMem]>;
|
||||
def int_x86_avx512_mask_pcmpgt_d_128: GCCBuiltin<"__builtin_ia32_pcmpgtd128_mask">,
|
||||
Intrinsic<[llvm_i8_ty], [llvm_v4i32_ty, llvm_v4i32_ty, llvm_i8_ty],
|
||||
[IntrNoMem]>;
|
||||
def int_x86_avx512_mask_pcmpgt_q_128: GCCBuiltin<"__builtin_ia32_pcmpgtq128_mask">,
|
||||
Intrinsic<[llvm_i8_ty], [llvm_v2i64_ty, llvm_v2i64_ty, llvm_i8_ty],
|
||||
[IntrNoMem]>;
|
||||
}
|
||||
|
||||
// Misc.
|
||||
|
@ -168,6 +168,18 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
|
||||
X86_INTRINSIC_DATA(avx512_mask_pcmpeq_w_128, CMP_MASK, X86ISD::PCMPEQM, 0),
|
||||
X86_INTRINSIC_DATA(avx512_mask_pcmpeq_w_256, CMP_MASK, X86ISD::PCMPEQM, 0),
|
||||
X86_INTRINSIC_DATA(avx512_mask_pcmpeq_w_512, CMP_MASK, X86ISD::PCMPEQM, 0),
|
||||
X86_INTRINSIC_DATA(avx512_mask_pcmpgt_b_128, CMP_MASK, X86ISD::PCMPGTM, 0),
|
||||
X86_INTRINSIC_DATA(avx512_mask_pcmpgt_b_256, CMP_MASK, X86ISD::PCMPGTM, 0),
|
||||
X86_INTRINSIC_DATA(avx512_mask_pcmpgt_b_512, CMP_MASK, X86ISD::PCMPGTM, 0),
|
||||
X86_INTRINSIC_DATA(avx512_mask_pcmpgt_d_128, CMP_MASK, X86ISD::PCMPGTM, 0),
|
||||
X86_INTRINSIC_DATA(avx512_mask_pcmpgt_d_256, CMP_MASK, X86ISD::PCMPGTM, 0),
|
||||
X86_INTRINSIC_DATA(avx512_mask_pcmpgt_d_512, CMP_MASK, X86ISD::PCMPGTM, 0),
|
||||
X86_INTRINSIC_DATA(avx512_mask_pcmpgt_q_128, CMP_MASK, X86ISD::PCMPGTM, 0),
|
||||
X86_INTRINSIC_DATA(avx512_mask_pcmpgt_q_256, CMP_MASK, X86ISD::PCMPGTM, 0),
|
||||
X86_INTRINSIC_DATA(avx512_mask_pcmpgt_q_512, CMP_MASK, X86ISD::PCMPGTM, 0),
|
||||
X86_INTRINSIC_DATA(avx512_mask_pcmpgt_w_128, CMP_MASK, X86ISD::PCMPGTM, 0),
|
||||
X86_INTRINSIC_DATA(avx512_mask_pcmpgt_w_256, CMP_MASK, X86ISD::PCMPGTM, 0),
|
||||
X86_INTRINSIC_DATA(avx512_mask_pcmpgt_w_512, CMP_MASK, X86ISD::PCMPGTM, 0),
|
||||
X86_INTRINSIC_DATA(avx_hadd_pd_256, INTR_TYPE_2OP, X86ISD::FHADD, 0),
|
||||
X86_INTRINSIC_DATA(avx_hadd_ps_256, INTR_TYPE_2OP, X86ISD::FHADD, 0),
|
||||
X86_INTRINSIC_DATA(avx_hsub_pd_256, INTR_TYPE_2OP, X86ISD::FHSUB, 0),
|
||||
|
@ -677,3 +677,35 @@ define i8 @test_mask_pcmpeq_q(<8 x i64> %a, <8 x i64> %b, i8 %mask) {
|
||||
}
|
||||
|
||||
declare i8 @llvm.x86.avx512.mask.pcmpeq.q.512(<8 x i64>, <8 x i64>, i8)
|
||||
|
||||
define i16 @test_pcmpgt_d(<16 x i32> %a, <16 x i32> %b) {
|
||||
; CHECK-LABEL: test_pcmpgt_d
|
||||
; CHECK: vpcmpgtd %zmm1, %zmm0, %k0 ##
|
||||
%res = call i16 @llvm.x86.avx512.mask.pcmpgt.d.512(<16 x i32> %a, <16 x i32> %b, i16 -1)
|
||||
ret i16 %res
|
||||
}
|
||||
|
||||
define i16 @test_mask_pcmpgt_d(<16 x i32> %a, <16 x i32> %b, i16 %mask) {
|
||||
; CHECK-LABEL: test_mask_pcmpgt_d
|
||||
; CHECK: vpcmpgtd %zmm1, %zmm0, %k0 {%k1} ##
|
||||
%res = call i16 @llvm.x86.avx512.mask.pcmpgt.d.512(<16 x i32> %a, <16 x i32> %b, i16 %mask)
|
||||
ret i16 %res
|
||||
}
|
||||
|
||||
declare i16 @llvm.x86.avx512.mask.pcmpgt.d.512(<16 x i32>, <16 x i32>, i16)
|
||||
|
||||
define i8 @test_pcmpgt_q(<8 x i64> %a, <8 x i64> %b) {
|
||||
; CHECK-LABEL: test_pcmpgt_q
|
||||
; CHECK: vpcmpgtq %zmm1, %zmm0, %k0 ##
|
||||
%res = call i8 @llvm.x86.avx512.mask.pcmpgt.q.512(<8 x i64> %a, <8 x i64> %b, i8 -1)
|
||||
ret i8 %res
|
||||
}
|
||||
|
||||
define i8 @test_mask_pcmpgt_q(<8 x i64> %a, <8 x i64> %b, i8 %mask) {
|
||||
; CHECK-LABEL: test_mask_pcmpgt_q
|
||||
; CHECK: vpcmpgtq %zmm1, %zmm0, %k0 {%k1} ##
|
||||
%res = call i8 @llvm.x86.avx512.mask.pcmpgt.q.512(<8 x i64> %a, <8 x i64> %b, i8 %mask)
|
||||
ret i8 %res
|
||||
}
|
||||
|
||||
declare i8 @llvm.x86.avx512.mask.pcmpgt.q.512(<8 x i64>, <8 x i64>, i8)
|
||||
|
@ -31,3 +31,35 @@ define i32 @test_mask_pcmpeq_w(<32 x i16> %a, <32 x i16> %b, i32 %mask) {
|
||||
}
|
||||
|
||||
declare i32 @llvm.x86.avx512.mask.pcmpeq.w.512(<32 x i16>, <32 x i16>, i32)
|
||||
|
||||
define i64 @test_pcmpgt_b(<64 x i8> %a, <64 x i8> %b) {
|
||||
; CHECK-LABEL: test_pcmpgt_b
|
||||
; CHECK: vpcmpgtb %zmm1, %zmm0, %k0 ##
|
||||
%res = call i64 @llvm.x86.avx512.mask.pcmpgt.b.512(<64 x i8> %a, <64 x i8> %b, i64 -1)
|
||||
ret i64 %res
|
||||
}
|
||||
|
||||
define i64 @test_mask_pcmpgt_b(<64 x i8> %a, <64 x i8> %b, i64 %mask) {
|
||||
; CHECK-LABEL: test_mask_pcmpgt_b
|
||||
; CHECK: vpcmpgtb %zmm1, %zmm0, %k0 {%k1} ##
|
||||
%res = call i64 @llvm.x86.avx512.mask.pcmpgt.b.512(<64 x i8> %a, <64 x i8> %b, i64 %mask)
|
||||
ret i64 %res
|
||||
}
|
||||
|
||||
declare i64 @llvm.x86.avx512.mask.pcmpgt.b.512(<64 x i8>, <64 x i8>, i64)
|
||||
|
||||
define i32 @test_pcmpgt_w(<32 x i16> %a, <32 x i16> %b) {
|
||||
; CHECK-LABEL: test_pcmpgt_w
|
||||
; CHECK: vpcmpgtw %zmm1, %zmm0, %k0 ##
|
||||
%res = call i32 @llvm.x86.avx512.mask.pcmpgt.w.512(<32 x i16> %a, <32 x i16> %b, i32 -1)
|
||||
ret i32 %res
|
||||
}
|
||||
|
||||
define i32 @test_mask_pcmpgt_w(<32 x i16> %a, <32 x i16> %b, i32 %mask) {
|
||||
; CHECK-LABEL: test_mask_pcmpgt_w
|
||||
; CHECK: vpcmpgtw %zmm1, %zmm0, %k0 {%k1} ##
|
||||
%res = call i32 @llvm.x86.avx512.mask.pcmpgt.w.512(<32 x i16> %a, <32 x i16> %b, i32 %mask)
|
||||
ret i32 %res
|
||||
}
|
||||
|
||||
declare i32 @llvm.x86.avx512.mask.pcmpgt.w.512(<32 x i16>, <32 x i16>, i32)
|
||||
|
@ -34,6 +34,38 @@ define i16 @test_mask_pcmpeq_w_256(<16 x i16> %a, <16 x i16> %b, i16 %mask) {
|
||||
|
||||
declare i16 @llvm.x86.avx512.mask.pcmpeq.w.256(<16 x i16>, <16 x i16>, i16)
|
||||
|
||||
define i32 @test_pcmpgt_b_256(<32 x i8> %a, <32 x i8> %b) {
|
||||
; CHECK-LABEL: test_pcmpgt_b_256
|
||||
; CHECK: vpcmpgtb %ymm1, %ymm0, %k0 ##
|
||||
%res = call i32 @llvm.x86.avx512.mask.pcmpgt.b.256(<32 x i8> %a, <32 x i8> %b, i32 -1)
|
||||
ret i32 %res
|
||||
}
|
||||
|
||||
define i32 @test_mask_pcmpgt_b_256(<32 x i8> %a, <32 x i8> %b, i32 %mask) {
|
||||
; CHECK-LABEL: test_mask_pcmpgt_b_256
|
||||
; CHECK: vpcmpgtb %ymm1, %ymm0, %k0 {%k1} ##
|
||||
%res = call i32 @llvm.x86.avx512.mask.pcmpgt.b.256(<32 x i8> %a, <32 x i8> %b, i32 %mask)
|
||||
ret i32 %res
|
||||
}
|
||||
|
||||
declare i32 @llvm.x86.avx512.mask.pcmpgt.b.256(<32 x i8>, <32 x i8>, i32)
|
||||
|
||||
define i16 @test_pcmpgt_w_256(<16 x i16> %a, <16 x i16> %b) {
|
||||
; CHECK-LABEL: test_pcmpgt_w_256
|
||||
; CHECK: vpcmpgtw %ymm1, %ymm0, %k0 ##
|
||||
%res = call i16 @llvm.x86.avx512.mask.pcmpgt.w.256(<16 x i16> %a, <16 x i16> %b, i16 -1)
|
||||
ret i16 %res
|
||||
}
|
||||
|
||||
define i16 @test_mask_pcmpgt_w_256(<16 x i16> %a, <16 x i16> %b, i16 %mask) {
|
||||
; CHECK-LABEL: test_mask_pcmpgt_w_256
|
||||
; CHECK: vpcmpgtw %ymm1, %ymm0, %k0 {%k1} ##
|
||||
%res = call i16 @llvm.x86.avx512.mask.pcmpgt.w.256(<16 x i16> %a, <16 x i16> %b, i16 %mask)
|
||||
ret i16 %res
|
||||
}
|
||||
|
||||
declare i16 @llvm.x86.avx512.mask.pcmpgt.w.256(<16 x i16>, <16 x i16>, i16)
|
||||
|
||||
; 128-bit
|
||||
|
||||
define i16 @test_pcmpeq_b_128(<16 x i8> %a, <16 x i8> %b) {
|
||||
@ -68,3 +100,34 @@ define i8 @test_mask_pcmpeq_w_128(<8 x i16> %a, <8 x i16> %b, i8 %mask) {
|
||||
|
||||
declare i8 @llvm.x86.avx512.mask.pcmpeq.w.128(<8 x i16>, <8 x i16>, i8)
|
||||
|
||||
define i16 @test_pcmpgt_b_128(<16 x i8> %a, <16 x i8> %b) {
|
||||
; CHECK-LABEL: test_pcmpgt_b_128
|
||||
; CHECK: vpcmpgtb %xmm1, %xmm0, %k0 ##
|
||||
%res = call i16 @llvm.x86.avx512.mask.pcmpgt.b.128(<16 x i8> %a, <16 x i8> %b, i16 -1)
|
||||
ret i16 %res
|
||||
}
|
||||
|
||||
define i16 @test_mask_pcmpgt_b_128(<16 x i8> %a, <16 x i8> %b, i16 %mask) {
|
||||
; CHECK-LABEL: test_mask_pcmpgt_b_128
|
||||
; CHECK: vpcmpgtb %xmm1, %xmm0, %k0 {%k1} ##
|
||||
%res = call i16 @llvm.x86.avx512.mask.pcmpgt.b.128(<16 x i8> %a, <16 x i8> %b, i16 %mask)
|
||||
ret i16 %res
|
||||
}
|
||||
|
||||
declare i16 @llvm.x86.avx512.mask.pcmpgt.b.128(<16 x i8>, <16 x i8>, i16)
|
||||
|
||||
define i8 @test_pcmpgt_w_128(<8 x i16> %a, <8 x i16> %b) {
|
||||
; CHECK-LABEL: test_pcmpgt_w_128
|
||||
; CHECK: vpcmpgtw %xmm1, %xmm0, %k0 ##
|
||||
%res = call i8 @llvm.x86.avx512.mask.pcmpgt.w.128(<8 x i16> %a, <8 x i16> %b, i8 -1)
|
||||
ret i8 %res
|
||||
}
|
||||
|
||||
define i8 @test_mask_pcmpgt_w_128(<8 x i16> %a, <8 x i16> %b, i8 %mask) {
|
||||
; CHECK-LABEL: test_mask_pcmpgt_w_128
|
||||
; CHECK: vpcmpgtw %xmm1, %xmm0, %k0 {%k1} ##
|
||||
%res = call i8 @llvm.x86.avx512.mask.pcmpgt.w.128(<8 x i16> %a, <8 x i16> %b, i8 %mask)
|
||||
ret i8 %res
|
||||
}
|
||||
|
||||
declare i8 @llvm.x86.avx512.mask.pcmpgt.w.128(<8 x i16>, <8 x i16>, i8)
|
||||
|
@ -34,6 +34,38 @@ define i8 @test_mask_pcmpeq_q_256(<4 x i64> %a, <4 x i64> %b, i8 %mask) {
|
||||
|
||||
declare i8 @llvm.x86.avx512.mask.pcmpeq.q.256(<4 x i64>, <4 x i64>, i8)
|
||||
|
||||
define i8 @test_pcmpgt_d_256(<8 x i32> %a, <8 x i32> %b) {
|
||||
; CHECK-LABEL: test_pcmpgt_d_256
|
||||
; CHECK: vpcmpgtd %ymm1, %ymm0, %k0 ##
|
||||
%res = call i8 @llvm.x86.avx512.mask.pcmpgt.d.256(<8 x i32> %a, <8 x i32> %b, i8 -1)
|
||||
ret i8 %res
|
||||
}
|
||||
|
||||
define i8 @test_mask_pcmpgt_d_256(<8 x i32> %a, <8 x i32> %b, i8 %mask) {
|
||||
; CHECK-LABEL: test_mask_pcmpgt_d_256
|
||||
; CHECK: vpcmpgtd %ymm1, %ymm0, %k0 {%k1} ##
|
||||
%res = call i8 @llvm.x86.avx512.mask.pcmpgt.d.256(<8 x i32> %a, <8 x i32> %b, i8 %mask)
|
||||
ret i8 %res
|
||||
}
|
||||
|
||||
declare i8 @llvm.x86.avx512.mask.pcmpgt.d.256(<8 x i32>, <8 x i32>, i8)
|
||||
|
||||
define i8 @test_pcmpgt_q_256(<4 x i64> %a, <4 x i64> %b) {
|
||||
; CHECK-LABEL: test_pcmpgt_q_256
|
||||
; CHECK: vpcmpgtq %ymm1, %ymm0, %k0 ##
|
||||
%res = call i8 @llvm.x86.avx512.mask.pcmpgt.q.256(<4 x i64> %a, <4 x i64> %b, i8 -1)
|
||||
ret i8 %res
|
||||
}
|
||||
|
||||
define i8 @test_mask_pcmpgt_q_256(<4 x i64> %a, <4 x i64> %b, i8 %mask) {
|
||||
; CHECK-LABEL: test_mask_pcmpgt_q_256
|
||||
; CHECK: vpcmpgtq %ymm1, %ymm0, %k0 {%k1} ##
|
||||
%res = call i8 @llvm.x86.avx512.mask.pcmpgt.q.256(<4 x i64> %a, <4 x i64> %b, i8 %mask)
|
||||
ret i8 %res
|
||||
}
|
||||
|
||||
declare i8 @llvm.x86.avx512.mask.pcmpgt.q.256(<4 x i64>, <4 x i64>, i8)
|
||||
|
||||
; 128-bit
|
||||
|
||||
define i8 @test_pcmpeq_d_128(<4 x i32> %a, <4 x i32> %b) {
|
||||
@ -67,3 +99,35 @@ define i8 @test_mask_pcmpeq_q_128(<2 x i64> %a, <2 x i64> %b, i8 %mask) {
|
||||
}
|
||||
|
||||
declare i8 @llvm.x86.avx512.mask.pcmpeq.q.128(<2 x i64>, <2 x i64>, i8)
|
||||
|
||||
define i8 @test_pcmpgt_d_128(<4 x i32> %a, <4 x i32> %b) {
|
||||
; CHECK-LABEL: test_pcmpgt_d_128
|
||||
; CHECK: vpcmpgtd %xmm1, %xmm0, %k0 ##
|
||||
%res = call i8 @llvm.x86.avx512.mask.pcmpgt.d.128(<4 x i32> %a, <4 x i32> %b, i8 -1)
|
||||
ret i8 %res
|
||||
}
|
||||
|
||||
define i8 @test_mask_pcmpgt_d_128(<4 x i32> %a, <4 x i32> %b, i8 %mask) {
|
||||
; CHECK-LABEL: test_mask_pcmpgt_d_128
|
||||
; CHECK: vpcmpgtd %xmm1, %xmm0, %k0 {%k1} ##
|
||||
%res = call i8 @llvm.x86.avx512.mask.pcmpgt.d.128(<4 x i32> %a, <4 x i32> %b, i8 %mask)
|
||||
ret i8 %res
|
||||
}
|
||||
|
||||
declare i8 @llvm.x86.avx512.mask.pcmpgt.d.128(<4 x i32>, <4 x i32>, i8)
|
||||
|
||||
define i8 @test_pcmpgt_q_128(<2 x i64> %a, <2 x i64> %b) {
|
||||
; CHECK-LABEL: test_pcmpgt_q_128
|
||||
; CHECK: vpcmpgtq %xmm1, %xmm0, %k0 ##
|
||||
%res = call i8 @llvm.x86.avx512.mask.pcmpgt.q.128(<2 x i64> %a, <2 x i64> %b, i8 -1)
|
||||
ret i8 %res
|
||||
}
|
||||
|
||||
define i8 @test_mask_pcmpgt_q_128(<2 x i64> %a, <2 x i64> %b, i8 %mask) {
|
||||
; CHECK-LABEL: test_mask_pcmpgt_q_128
|
||||
; CHECK: vpcmpgtq %xmm1, %xmm0, %k0 {%k1} ##
|
||||
%res = call i8 @llvm.x86.avx512.mask.pcmpgt.q.128(<2 x i64> %a, <2 x i64> %b, i8 %mask)
|
||||
ret i8 %res
|
||||
}
|
||||
|
||||
declare i8 @llvm.x86.avx512.mask.pcmpgt.q.128(<2 x i64>, <2 x i64>, i8)
|
||||
|
Loading…
Reference in New Issue
Block a user