-
Notifications
You must be signed in to change notification settings - Fork 13.6k
[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
Conversation
@llvm/pr-subscribers-llvm-ir @llvm/pr-subscribers-backend-x86 Author: Phoebe Wang (phoebewang) ChangesRef.: https://cdrdv2.intel.com/v1/dl/getContent/828965 Patch is 96.11 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/123272.diff 21 Files Affected:
diff --git a/clang/include/clang/Basic/BuiltinsX86.td b/clang/include/clang/Basic/BuiltinsX86.td
index 18fc10eb85c027..a6c932967f5280 100644
--- a/clang/include/clang/Basic/BuiltinsX86.td
+++ b/clang/include/clang/Basic/BuiltinsX86.td
@@ -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 {
diff --git a/clang/lib/Headers/avx10_2_512minmaxintrin.h b/clang/lib/Headers/avx10_2_512minmaxintrin.h
index e175365d11df80..fbc7fbadbc6b2d 100644
--- a/clang/lib/Headers/avx10_2_512minmaxintrin.h
+++ b/clang/lib/Headers/avx10_2_512minmaxintrin.h
@@ -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) \
diff --git a/clang/lib/Headers/avx10_2minmaxintrin.h b/clang/lib/Headers/avx10_2minmaxintrin.h
index a9367e7424658f..8164d49d89f1f9 100644
--- a/clang/lib/Headers/avx10_2minmaxintrin.h
+++ b/clang/lib/Headers/avx10_2minmaxintrin.h
@@ -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) \
diff --git a/clang/lib/Sema/SemaX86.cpp b/clang/lib/Sema/SemaX86.cpp
index 0b4b78c5b15dc5..01308ba86cc977 100644
--- a/clang/lib/Sema/SemaX86.cpp
+++ b/clang/lib/Sema/SemaX86.cpp
@@ -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:
diff --git a/clang/test/CodeGen/X86/avx10_2_512minmax-builtins.c b/clang/test/CodeGen/X86/avx10_2_512minmax-builtins.c
index 4e80d8b36e1948..4e467b36b2348c 100644
--- a/clang/test/CodeGen/X86/avx10_2_512minmax-builtins.c
+++ b/clang/test/CodeGen/X86/avx10_2_512minmax-builtins.c
@@ -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) {
diff --git a/clang/test/CodeGen/X86/avx10_2_512minmax-error.c b/clang/test/CodeGen/X86/avx10_2_512minmax-error.c
index e487c3fad49dd1..6db7801eb00408 100644
--- a/clang/test/CodeGen/X86/avx10_2_512minmax-error.c
+++ b/clang/test/CodeGen/X86/avx10_2_512minmax-error.c
@@ -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) {
@@ -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) {
diff --git a/clang/test/CodeGen/X86/avx10_2minmax-builtins.c b/clang/test/CodeGen/X86/avx10_2minmax-builtins.c
index 1efafe24ab1258..7e21858c718340 100644
--- a/clang/test/CodeGen/X86/avx10_2minmax-builtins.c
+++ b/clang/test/CodeGen/X86/avx10_2minmax-builtins.c
@@ -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) {
diff --git a/llvm/include/llvm/IR/IntrinsicsX86.td b/llvm/include/llvm/IR/IntrinsicsX86.td
index 42b211e0e1f75a..182bce35861dc0 100644
--- a/llvm/include/llvm/IR/IntrinsicsX86.td
+++ b/llvm/include/llvm/IR/IntrinsicsX86.td
@@ -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">,
@@ -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], []>;
-}
\ No newline at end of file
+}
diff --git a/llvm/lib/Target/X86/X86InstrAVX10.td b/llvm/lib/Target/X86/X86InstrAVX10.td
index 127016184bc17b..2dffb15718ced3 100644
--- a/llvm/lib/Target/X86/X86InstrAVX10.td
+++ b/llvm/lib/Target/X86/X86InstrAVX10.td
@@ -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>,
diff --git a/llvm/lib/Target/X86/X86IntrinsicsInfo.h b/llvm/lib/Target/X86/X86IntrinsicsInfo.h
index 86fd04046d16a0..430c899b9dd723 100644
--- a/llvm/lib/Target/X86/X86IntrinsicsInfo.h
+++ b/llvm/lib/Target/X86/X86IntrinsicsInfo.h
@@ -848,11 +848,11 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
...
[truncated]
|
@llvm/pr-subscribers-clang Author: Phoebe Wang (phoebewang) ChangesRef.: https://cdrdv2.intel.com/v1/dl/getContent/828965 Patch is 96.11 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/123272.diff 21 Files Affected:
diff --git a/clang/include/clang/Basic/BuiltinsX86.td b/clang/include/clang/Basic/BuiltinsX86.td
index 18fc10eb85c027..a6c932967f5280 100644
--- a/clang/include/clang/Basic/BuiltinsX86.td
+++ b/clang/include/clang/Basic/BuiltinsX86.td
@@ -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 {
diff --git a/clang/lib/Headers/avx10_2_512minmaxintrin.h b/clang/lib/Headers/avx10_2_512minmaxintrin.h
index e175365d11df80..fbc7fbadbc6b2d 100644
--- a/clang/lib/Headers/avx10_2_512minmaxintrin.h
+++ b/clang/lib/Headers/avx10_2_512minmaxintrin.h
@@ -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) \
diff --git a/clang/lib/Headers/avx10_2minmaxintrin.h b/clang/lib/Headers/avx10_2minmaxintrin.h
index a9367e7424658f..8164d49d89f1f9 100644
--- a/clang/lib/Headers/avx10_2minmaxintrin.h
+++ b/clang/lib/Headers/avx10_2minmaxintrin.h
@@ -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) \
diff --git a/clang/lib/Sema/SemaX86.cpp b/clang/lib/Sema/SemaX86.cpp
index 0b4b78c5b15dc5..01308ba86cc977 100644
--- a/clang/lib/Sema/SemaX86.cpp
+++ b/clang/lib/Sema/SemaX86.cpp
@@ -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:
diff --git a/clang/test/CodeGen/X86/avx10_2_512minmax-builtins.c b/clang/test/CodeGen/X86/avx10_2_512minmax-builtins.c
index 4e80d8b36e1948..4e467b36b2348c 100644
--- a/clang/test/CodeGen/X86/avx10_2_512minmax-builtins.c
+++ b/clang/test/CodeGen/X86/avx10_2_512minmax-builtins.c
@@ -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) {
diff --git a/clang/test/CodeGen/X86/avx10_2_512minmax-error.c b/clang/test/CodeGen/X86/avx10_2_512minmax-error.c
index e487c3fad49dd1..6db7801eb00408 100644
--- a/clang/test/CodeGen/X86/avx10_2_512minmax-error.c
+++ b/clang/test/CodeGen/X86/avx10_2_512minmax-error.c
@@ -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) {
@@ -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) {
diff --git a/clang/test/CodeGen/X86/avx10_2minmax-builtins.c b/clang/test/CodeGen/X86/avx10_2minmax-builtins.c
index 1efafe24ab1258..7e21858c718340 100644
--- a/clang/test/CodeGen/X86/avx10_2minmax-builtins.c
+++ b/clang/test/CodeGen/X86/avx10_2minmax-builtins.c
@@ -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) {
diff --git a/llvm/include/llvm/IR/IntrinsicsX86.td b/llvm/include/llvm/IR/IntrinsicsX86.td
index 42b211e0e1f75a..182bce35861dc0 100644
--- a/llvm/include/llvm/IR/IntrinsicsX86.td
+++ b/llvm/include/llvm/IR/IntrinsicsX86.td
@@ -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">,
@@ -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], []>;
-}
\ No newline at end of file
+}
diff --git a/llvm/lib/Target/X86/X86InstrAVX10.td b/llvm/lib/Target/X86/X86InstrAVX10.td
index 127016184bc17b..2dffb15718ced3 100644
--- a/llvm/lib/Target/X86/X86InstrAVX10.td
+++ b/llvm/lib/Target/X86/X86InstrAVX10.td
@@ -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>,
diff --git a/llvm/lib/Target/X86/X86IntrinsicsInfo.h b/llvm/lib/Target/X86/X86IntrinsicsInfo.h
index 86fd04046d16a0..430c899b9dd723 100644
--- a/llvm/lib/Target/X86/X86IntrinsicsInfo.h
+++ b/llvm/lib/Target/X86/X86IntrinsicsInfo.h
@@ -848,11 +848,11 @@ static const IntrinsicData IntrinsicsWithoutChain[] = {
...
[truncated]
|
✅ With the latest revision this PR passed the C/C++ code formatter. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Couldn't grep something minmax
-like that hasn't been covered.
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/828965