Skip to content

[X86][AVX10.2-MINMAX][NFC] Remove NE[P] from intrinsic and instruction #123272

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jan 21, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions clang/include/clang/Basic/BuiltinsX86.td
Original file line number Diff line number Diff line change
Expand Up @@ -4936,15 +4936,15 @@ let Features = "avx10.2-512,sm4", Attributes = [NoThrow, RequiredVectorWidth<512
}

let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<128>] in {
def vminmaxnepbf16128 : X86Builtin<"_Vector<8, __bf16>(_Vector<8, __bf16>, _Vector<8, __bf16>, _Constant int)">;
def vminmaxbf16128 : X86Builtin<"_Vector<8, __bf16>(_Vector<8, __bf16>, _Vector<8, __bf16>, _Constant int)">;
}

let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<256>] in {
def vminmaxnepbf16256 : X86Builtin<"_Vector<16, __bf16>(_Vector<16, __bf16>, _Vector<16, __bf16>, _Constant int)">;
def vminmaxbf16256 : X86Builtin<"_Vector<16, __bf16>(_Vector<16, __bf16>, _Vector<16, __bf16>, _Constant int)">;
}

let Features = "avx10.2-512", Attributes = [NoThrow, RequiredVectorWidth<512>] in {
def vminmaxnepbf16512 : X86Builtin<"_Vector<32, __bf16>(_Vector<32, __bf16>, _Vector<32, __bf16>, _Constant int)">;
def vminmaxbf16512 : X86Builtin<"_Vector<32, __bf16>(_Vector<32, __bf16>, _Vector<32, __bf16>, _Constant int)">;
}

let Features = "avx10.2-256", Attributes = [NoThrow, RequiredVectorWidth<128>] in {
Expand Down
18 changes: 9 additions & 9 deletions clang/lib/Headers/avx10_2_512minmaxintrin.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,22 @@
#ifndef __AVX10_2_512MINMAXINTRIN_H
#define __AVX10_2_512MINMAXINTRIN_H

#define _mm512_minmaxne_pbh(A, B, C) \
((__m512bh)__builtin_ia32_vminmaxnepbf16512( \
(__v32bf)(__m512bh)(A), (__v32bf)(__m512bh)(A), (int)(C)))
#define _mm512_minmax_pbh(A, B, C) \
((__m512bh)__builtin_ia32_vminmaxbf16512((__v32bf)(__m512bh)(A), \
(__v32bf)(__m512bh)(A), (int)(C)))

#define _mm512_mask_minmaxne_pbh(W, U, A, B, C) \
#define _mm512_mask_minmax_pbh(W, U, A, B, C) \
((__m512bh)__builtin_ia32_selectpbf_512( \
(__mmask32)(U), \
(__v32bf)_mm512_minmaxne_pbh((__v32bf)(__m512bh)(A), \
(__v32bf)(__m512bh)(B), (int)(C)), \
(__v32bf)_mm512_minmax_pbh((__v32bf)(__m512bh)(A), \
(__v32bf)(__m512bh)(B), (int)(C)), \
(__v32bf)(__m512bh)(W)))

#define _mm512_maskz_minmaxne_pbh(U, A, B, C) \
#define _mm512_maskz_minmax_pbh(U, A, B, C) \
((__m512bh)__builtin_ia32_selectpbf_512( \
(__mmask32)(U), \
(__v32bf)_mm512_minmaxne_pbh((__v32bf)(__m512bh)(A), \
(__v32bf)(__m512bh)(B), (int)(C)), \
(__v32bf)_mm512_minmax_pbh((__v32bf)(__m512bh)(A), \
(__v32bf)(__m512bh)(B), (int)(C)), \
(__v32bf) __builtin_bit_cast(__m512bh, _mm512_setzero_ps())))

#define _mm512_minmax_pd(A, B, C) \
Expand Down
36 changes: 18 additions & 18 deletions clang/lib/Headers/avx10_2minmaxintrin.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,40 +14,40 @@
#ifndef __AVX10_2MINMAXINTRIN_H
#define __AVX10_2MINMAXINTRIN_H

#define _mm_minmaxne_pbh(A, B, C) \
((__m128bh)__builtin_ia32_vminmaxnepbf16128( \
(__m128bh)(__v8bf)(A), (__m128bh)(__v8bf)(B), (int)(C)))
#define _mm_minmax_pbh(A, B, C) \
((__m128bh)__builtin_ia32_vminmaxbf16128((__m128bh)(__v8bf)(A), \
(__m128bh)(__v8bf)(B), (int)(C)))

#define _mm_mask_minmaxne_pbh(W, U, A, B, C) \
#define _mm_mask_minmax_pbh(W, U, A, B, C) \
((__m128bh)__builtin_ia32_selectpbf_128( \
(__mmask8)(U), \
(__v8bf)_mm_minmaxne_pbh((__m128bh)(__v8bf)(A), (__m128bh)(__v8bf)(B), \
(int)(C)), \
(__v8bf)_mm_minmax_pbh((__m128bh)(__v8bf)(A), (__m128bh)(__v8bf)(B), \
(int)(C)), \
(__v8bf)(W)))

#define _mm_maskz_minmaxne_pbh(U, A, B, C) \
#define _mm_maskz_minmax_pbh(U, A, B, C) \
((__m128bh)__builtin_ia32_selectpbf_128( \
(__mmask8)(U), \
(__v8bf)_mm_minmaxne_pbh((__m128bh)(__v8bf)(A), (__m128bh)(__v8bf)(B), \
(int)(C)), \
(__v8bf)_mm_minmax_pbh((__m128bh)(__v8bf)(A), (__m128bh)(__v8bf)(B), \
(int)(C)), \
(__v8bf) __builtin_bit_cast(__m128bh, _mm_setzero_ps())))

#define _mm256_minmaxne_pbh(A, B, C) \
((__m256bh)__builtin_ia32_vminmaxnepbf16256( \
(__m256bh)(__v16bf)(A), (__m256bh)(__v16bf)(B), (int)(C)))
#define _mm256_minmax_pbh(A, B, C) \
((__m256bh)__builtin_ia32_vminmaxbf16256((__m256bh)(__v16bf)(A), \
(__m256bh)(__v16bf)(B), (int)(C)))

#define _mm256_mask_minmaxne_pbh(W, U, A, B, C) \
#define _mm256_mask_minmax_pbh(W, U, A, B, C) \
((__m256bh)__builtin_ia32_selectpbf_256( \
(__mmask16)(U), \
(__v16bf)_mm256_minmaxne_pbh((__m256bh)(__v16bf)(A), \
(__m256bh)(__v16bf)(B), (int)(C)), \
(__v16bf)_mm256_minmax_pbh((__m256bh)(__v16bf)(A), \
(__m256bh)(__v16bf)(B), (int)(C)), \
(__v16bf)(W)))

#define _mm256_maskz_minmaxne_pbh(U, A, B, C) \
#define _mm256_maskz_minmax_pbh(U, A, B, C) \
((__m256bh)__builtin_ia32_selectpbf_256( \
(__mmask16)(U), \
(__v16bf)_mm256_minmaxne_pbh((__m256bh)(__v16bf)(A), \
(__m256bh)(__v16bf)(B), (int)(C)), \
(__v16bf)_mm256_minmax_pbh((__m256bh)(__v16bf)(A), \
(__m256bh)(__v16bf)(B), (int)(C)), \
(__v16bf) __builtin_bit_cast(__m256bh, _mm256_setzero_ps())))

#define _mm_minmax_pd(A, B, C) \
Expand Down
6 changes: 3 additions & 3 deletions clang/lib/Sema/SemaX86.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1045,9 +1045,9 @@ bool SemaX86::CheckBuiltinFunctionCall(const TargetInfo &TI, unsigned BuiltinID,
case X86::BI__builtin_ia32_vpshrdw128:
case X86::BI__builtin_ia32_vpshrdw256:
case X86::BI__builtin_ia32_vpshrdw512:
case X86::BI__builtin_ia32_vminmaxnepbf16128:
case X86::BI__builtin_ia32_vminmaxnepbf16256:
case X86::BI__builtin_ia32_vminmaxnepbf16512:
case X86::BI__builtin_ia32_vminmaxbf16128:
case X86::BI__builtin_ia32_vminmaxbf16256:
case X86::BI__builtin_ia32_vminmaxbf16512:
case X86::BI__builtin_ia32_vminmaxpd128_mask:
case X86::BI__builtin_ia32_vminmaxpd256_round_mask:
case X86::BI__builtin_ia32_vminmaxph128_mask:
Expand Down
24 changes: 12 additions & 12 deletions clang/test/CodeGen/X86/avx10_2_512minmax-builtins.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,25 @@

#include <immintrin.h>

__m512bh test_mm512_minmaxne_pbh(__m512bh __A, __m512bh __B) {
// CHECK-LABEL: @test_mm512_minmaxne_pbh(
// CHECK: call <32 x bfloat> @llvm.x86.avx10.vminmaxnepbf16512(
return _mm512_minmaxne_pbh(__A, __B, 127);
__m512bh test_mm512_minmax_pbh(__m512bh __A, __m512bh __B) {
// CHECK-LABEL: @test_mm512_minmax_pbh(
// CHECK: call <32 x bfloat> @llvm.x86.avx10.vminmaxbf16512(
return _mm512_minmax_pbh(__A, __B, 127);
}

__m512bh test_mm512_mask_minmaxne_pbh(__m512bh __A, __mmask32 __B, __m512bh __C, __m512bh __D) {
// CHECK-LABEL: @test_mm512_mask_minmaxne_pbh(
// CHECK: call <32 x bfloat> @llvm.x86.avx10.vminmaxnepbf16512(
__m512bh test_mm512_mask_minmax_pbh(__m512bh __A, __mmask32 __B, __m512bh __C, __m512bh __D) {
// CHECK-LABEL: @test_mm512_mask_minmax_pbh(
// CHECK: call <32 x bfloat> @llvm.x86.avx10.vminmaxbf16512(
// CHECK: select <32 x i1> %{{.*}}, <32 x bfloat> %{{.*}}, <32 x bfloat> %{{.*}}
return _mm512_mask_minmaxne_pbh(__A, __B, __C, __D, 127);
return _mm512_mask_minmax_pbh(__A, __B, __C, __D, 127);
}

__m512bh test_mm512_maskz_minmaxne_pbh(__mmask32 __A, __m512bh __B, __m512bh __C) {
// CHECK-LABEL: @test_mm512_maskz_minmaxne_pbh(
// CHECK: call <32 x bfloat> @llvm.x86.avx10.vminmaxnepbf16512(
__m512bh test_mm512_maskz_minmax_pbh(__mmask32 __A, __m512bh __B, __m512bh __C) {
// CHECK-LABEL: @test_mm512_maskz_minmax_pbh(
// CHECK: call <32 x bfloat> @llvm.x86.avx10.vminmaxbf16512(
// CHECK: zeroinitializer
// CHECK: select <32 x i1> %{{.*}}, <32 x bfloat> %{{.*}}, <32 x bfloat> %{{.*}}
return _mm512_maskz_minmaxne_pbh(__A, __B, __C, 127);
return _mm512_maskz_minmax_pbh(__A, __B, __C, 127);
}

__m512d test_mm512_minmax_pd(__m512d __A, __m512d __B) {
Expand Down
24 changes: 12 additions & 12 deletions clang/test/CodeGen/X86/avx10_2_512minmax-error.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,20 @@

#include <immintrin.h>

__m128bh test_mm_minmaxne_pbh(__m128bh __A, __m128bh __B) {
return _mm_minmaxne_pbh(__A, __B, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
__m128bh test_mm_minmax_pbh(__m128bh __A, __m128bh __B) {
return _mm_minmax_pbh(__A, __B, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
}

__m128bh test_mm_mask_minmaxne_pbh(__m128bh __A, __mmask8 __B, __m128bh __C, __m128bh __D) {
return _mm_mask_minmaxne_pbh(__A, __B, __C, __D, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
__m128bh test_mm_mask_minmax_pbh(__m128bh __A, __mmask8 __B, __m128bh __C, __m128bh __D) {
return _mm_mask_minmax_pbh(__A, __B, __C, __D, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
}

__m256bh test_mm256_minmaxne_pbh(__m256bh __A, __m256bh __B) {
return _mm256_minmaxne_pbh(__A, __B, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
__m256bh test_mm256_minmax_pbh(__m256bh __A, __m256bh __B) {
return _mm256_minmax_pbh(__A, __B, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
}

__m256bh test_mm256_mask_minmaxne_pbh(__m256bh __A, __mmask16 __B, __m256bh __C, __m256bh __D) {
return _mm256_mask_minmaxne_pbh(__A, __B, __C, __D, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
__m256bh test_mm256_mask_minmax_pbh(__m256bh __A, __mmask16 __B, __m256bh __C, __m256bh __D) {
return _mm256_mask_minmax_pbh(__A, __B, __C, __D, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
}

__m128d test_mm_minmax_pd(__m128d __A, __m128d __B) {
Expand Down Expand Up @@ -69,12 +69,12 @@ __m256 test_mm256_mask_minmax_ps(__m256 __A, __mmask8 __B, __m256 __C, __m256 __
return _mm256_mask_minmax_ps(__A, __B, __C, __D, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
}

__m512bh test_mm512_minmaxne_pbh(__m512bh __A, __m512bh __B) {
return _mm512_minmaxne_pbh(__A, __B, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
__m512bh test_mm512_minmax_pbh(__m512bh __A, __m512bh __B) {
return _mm512_minmax_pbh(__A, __B, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
}

__m512bh test_mm512_mask_minmaxne_pbh(__m512bh __A, __mmask32 __B, __m512bh __C, __m512bh __D) {
return _mm512_mask_minmaxne_pbh(__A, __B, __C, __D, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
__m512bh test_mm512_mask_minmax_pbh(__m512bh __A, __mmask32 __B, __m512bh __C, __m512bh __D) {
return _mm512_mask_minmax_pbh(__A, __B, __C, __D, 256); // expected-error {{argument value 256 is outside the valid range [0, 255]}}
}

__m512d test_mm512_minmax_pd(__m512d __A, __m512d __B) {
Expand Down
48 changes: 24 additions & 24 deletions clang/test/CodeGen/X86/avx10_2minmax-builtins.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,46 +5,46 @@

#include <immintrin.h>

__m128bh test_mm_minmaxne_pbh(__m128bh __A, __m128bh __B) {
// CHECK-LABEL: @test_mm_minmaxne_pbh(
// CHECK: call <8 x bfloat> @llvm.x86.avx10.vminmaxnepbf16128(
return _mm_minmaxne_pbh(__A, __B, 127);
__m128bh test_mm_minmax_pbh(__m128bh __A, __m128bh __B) {
// CHECK-LABEL: @test_mm_minmax_pbh(
// CHECK: call <8 x bfloat> @llvm.x86.avx10.vminmaxbf16128(
return _mm_minmax_pbh(__A, __B, 127);
}

__m128bh test_mm_mask_minmaxne_pbh(__m128bh __A, __mmask8 __B, __m128bh __C, __m128bh __D) {
// CHECK-LABEL: @test_mm_mask_minmaxne_pbh(
// CHECK: call <8 x bfloat> @llvm.x86.avx10.vminmaxnepbf16128(
__m128bh test_mm_mask_minmax_pbh(__m128bh __A, __mmask8 __B, __m128bh __C, __m128bh __D) {
// CHECK-LABEL: @test_mm_mask_minmax_pbh(
// CHECK: call <8 x bfloat> @llvm.x86.avx10.vminmaxbf16128(
// CHECK: select <8 x i1> %{{.*}}, <8 x bfloat> %{{.*}}, <8 x bfloat> %{{.*}}
return _mm_mask_minmaxne_pbh(__A, __B, __C, __D, 127);
return _mm_mask_minmax_pbh(__A, __B, __C, __D, 127);
}

__m128bh test_mm_maskz_minmaxne_pbh(__mmask8 __A, __m128bh __B, __m128bh __C) {
// CHECK-LABEL: @test_mm_maskz_minmaxne_pbh(
// CHECK: call <8 x bfloat> @llvm.x86.avx10.vminmaxnepbf16128(
__m128bh test_mm_maskz_minmax_pbh(__mmask8 __A, __m128bh __B, __m128bh __C) {
// CHECK-LABEL: @test_mm_maskz_minmax_pbh(
// CHECK: call <8 x bfloat> @llvm.x86.avx10.vminmaxbf16128(
// CHECK: zeroinitializer
// CHECK: select <8 x i1> %{{.*}}, <8 x bfloat> %{{.*}}, <8 x bfloat> %{{.*}}
return _mm_maskz_minmaxne_pbh(__A, __B, __C, 127);
return _mm_maskz_minmax_pbh(__A, __B, __C, 127);
}

__m256bh test_mm256_minmaxne_pbh(__m256bh __A, __m256bh __B) {
// CHECK-LABEL: @test_mm256_minmaxne_pbh(
// CHECK: call <16 x bfloat> @llvm.x86.avx10.vminmaxnepbf16256(
return _mm256_minmaxne_pbh(__A, __B, 127);
__m256bh test_mm256_minmax_pbh(__m256bh __A, __m256bh __B) {
// CHECK-LABEL: @test_mm256_minmax_pbh(
// CHECK: call <16 x bfloat> @llvm.x86.avx10.vminmaxbf16256(
return _mm256_minmax_pbh(__A, __B, 127);
}

__m256bh test_mm256_mask_minmaxne_pbh(__m256bh __A, __mmask16 __B, __m256bh __C, __m256bh __D) {
// CHECK-LABEL: @test_mm256_mask_minmaxne_pbh(
// CHECK: call <16 x bfloat> @llvm.x86.avx10.vminmaxnepbf16256(
__m256bh test_mm256_mask_minmax_pbh(__m256bh __A, __mmask16 __B, __m256bh __C, __m256bh __D) {
// CHECK-LABEL: @test_mm256_mask_minmax_pbh(
// CHECK: call <16 x bfloat> @llvm.x86.avx10.vminmaxbf16256(
// CHECK: select <16 x i1> %{{.*}}, <16 x bfloat> %{{.*}}, <16 x bfloat> %{{.*}}
return _mm256_mask_minmaxne_pbh(__A, __B, __C, __D, 127);
return _mm256_mask_minmax_pbh(__A, __B, __C, __D, 127);
}

__m256bh test_mm256_maskz_minmaxne_pbh(__mmask16 __A, __m256bh __B, __m256bh __C) {
// CHECK-LABEL: @test_mm256_maskz_minmaxne_pbh(
// CHECK: call <16 x bfloat> @llvm.x86.avx10.vminmaxnepbf16256(
__m256bh test_mm256_maskz_minmax_pbh(__mmask16 __A, __m256bh __B, __m256bh __C) {
// CHECK-LABEL: @test_mm256_maskz_minmax_pbh(
// CHECK: call <16 x bfloat> @llvm.x86.avx10.vminmaxbf16256(
// CHECK: zeroinitializer
// CHECK: select <16 x i1> %{{.*}}, <16 x bfloat> %{{.*}}, <16 x bfloat> %{{.*}}
return _mm256_maskz_minmaxne_pbh(__A, __B, __C, 127);
return _mm256_maskz_minmax_pbh(__A, __B, __C, 127);
}

__m128d test_mm_minmax_pd(__m128d __A, __m128d __B) {
Expand Down
8 changes: 4 additions & 4 deletions llvm/include/llvm/IR/IntrinsicsX86.td
Original file line number Diff line number Diff line change
Expand Up @@ -7279,13 +7279,13 @@ let TargetPrefix = "x86" in {
}

let TargetPrefix = "x86" in {
def int_x86_avx10_vminmaxnepbf16128 : ClangBuiltin<"__builtin_ia32_vminmaxnepbf16128">,
def int_x86_avx10_vminmaxbf16128 : ClangBuiltin<"__builtin_ia32_vminmaxbf16128">,
DefaultAttrsIntrinsic<[llvm_v8bf16_ty], [llvm_v8bf16_ty, llvm_v8bf16_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<2>>]>;
def int_x86_avx10_vminmaxnepbf16256 : ClangBuiltin<"__builtin_ia32_vminmaxnepbf16256">,
def int_x86_avx10_vminmaxbf16256 : ClangBuiltin<"__builtin_ia32_vminmaxbf16256">,
DefaultAttrsIntrinsic<[llvm_v16bf16_ty], [llvm_v16bf16_ty, llvm_v16bf16_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<2>>]>;
def int_x86_avx10_vminmaxnepbf16512 : ClangBuiltin<"__builtin_ia32_vminmaxnepbf16512">,
def int_x86_avx10_vminmaxbf16512 : ClangBuiltin<"__builtin_ia32_vminmaxbf16512">,
DefaultAttrsIntrinsic<[llvm_v32bf16_ty], [llvm_v32bf16_ty, llvm_v32bf16_ty, llvm_i32_ty],
[IntrNoMem, ImmArg<ArgIndex<2>>]>;
def int_x86_avx10_vminmaxpd128 : ClangBuiltin<"__builtin_ia32_vminmaxpd128">,
Expand Down Expand Up @@ -7893,4 +7893,4 @@ def int_x86_movrsdi : ClangBuiltin<"__builtin_ia32_movrsdi">,
[IntrReadMem]>;
def int_x86_prefetchrs : ClangBuiltin<"__builtin_ia32_prefetchrs">,
Intrinsic<[], [llvm_ptr_ty], []>;
}
}
4 changes: 2 additions & 2 deletions llvm/lib/Target/X86/X86InstrAVX10.td
Original file line number Diff line number Diff line change
Expand Up @@ -447,8 +447,8 @@ multiclass avx10_minmax_scalar<string OpStr, X86VectorVTInfo _, SDNode OpNode,


let mayRaiseFPException = 0 in
defm VMINMAXNEPBF16 : avx10_minmax_packed<"vminmaxnepbf16", avx512vl_bf16_info, X86vminmax>,
AVX512XDIi8Base, EVEX_CD8<16, CD8VF>, TA;
defm VMINMAXBF16 : avx10_minmax_packed<"vminmaxbf16", avx512vl_bf16_info, X86vminmax>,
AVX512XDIi8Base, EVEX_CD8<16, CD8VF>, TA;

defm VMINMAXPD : avx10_minmax_packed<"vminmaxpd", avx512vl_f64_info, X86vminmax>,
avx10_minmax_packed_sae<"vminmaxpd", avx512vl_f64_info, X86vminmaxSae>,
Expand Down
9 changes: 3 additions & 6 deletions llvm/lib/Target/X86/X86IntrinsicsInfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -848,12 +848,9 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
X86ISD::FMAX_SAE),
X86_INTRINSIC_DATA(avx10_vmaxps256, INTR_TYPE_2OP_SAE, X86ISD::FMAX,
X86ISD::FMAX_SAE),
X86_INTRINSIC_DATA(avx10_vminmaxnepbf16128, INTR_TYPE_3OP, X86ISD::VMINMAX,
0),
X86_INTRINSIC_DATA(avx10_vminmaxnepbf16256, INTR_TYPE_3OP, X86ISD::VMINMAX,
0),
X86_INTRINSIC_DATA(avx10_vminmaxnepbf16512, INTR_TYPE_3OP, X86ISD::VMINMAX,
0),
X86_INTRINSIC_DATA(avx10_vminmaxbf16128, INTR_TYPE_3OP, X86ISD::VMINMAX, 0),
X86_INTRINSIC_DATA(avx10_vminmaxbf16256, INTR_TYPE_3OP, X86ISD::VMINMAX, 0),
X86_INTRINSIC_DATA(avx10_vminmaxbf16512, INTR_TYPE_3OP, X86ISD::VMINMAX, 0),
X86_INTRINSIC_DATA(avx10_vminpd256, INTR_TYPE_2OP_SAE, X86ISD::FMIN,
X86ISD::FMIN_SAE),
X86_INTRINSIC_DATA(avx10_vminph256, INTR_TYPE_2OP_SAE, X86ISD::FMIN,
Expand Down
Loading
Loading