Skip to content

Commit 5afc3e3

Browse files
committed
merge main into amd-staging
2 parents 664da6f + a17d496 commit 5afc3e3

File tree

76 files changed

+2240
-678
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+2240
-678
lines changed

clang/include/clang/Basic/BuiltinsX86.td

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5365,13 +5365,13 @@ let Features = "avx10.2-256", Attributes = [NoThrow, Const, RequiredVectorWidth<
53655365

53665366
let Features = "avx10.2-512", Attributes = [NoThrow, Const, RequiredVectorWidth<512>] in {
53675367
def vsqrtbf16512 : X86Builtin<"_Vector<32, __bf16>(_Vector<32, __bf16>)">;
5368-
def vfmaddnepbh512 : X86Builtin<"_Vector<32, __bf16>(_Vector<32, __bf16>, _Vector<32, __bf16>, _Vector<32, __bf16>)">;
5368+
def vfmaddbf16512 : X86Builtin<"_Vector<32, __bf16>(_Vector<32, __bf16>, _Vector<32, __bf16>, _Vector<32, __bf16>)">;
53695369
}
53705370

53715371
let Features = "avx10.2-256", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] in {
5372-
def vfmaddnepbh256 : X86Builtin<"_Vector<16, __bf16>(_Vector<16, __bf16>, _Vector<16, __bf16>, _Vector<16, __bf16>)">;
5372+
def vfmaddbf16256 : X86Builtin<"_Vector<16, __bf16>(_Vector<16, __bf16>, _Vector<16, __bf16>, _Vector<16, __bf16>)">;
53735373
}
53745374

53755375
let Features = "avx10.2-256", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] in {
5376-
def vfmaddnepbh128 : X86Builtin<"_Vector<8, __bf16>(_Vector<8, __bf16>, _Vector<8, __bf16>, _Vector<8, __bf16>)">;
5376+
def vfmaddbf16128 : X86Builtin<"_Vector<8, __bf16>(_Vector<8, __bf16>, _Vector<8, __bf16>, _Vector<8, __bf16>)">;
53775377
}

clang/lib/AST/Expr.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,9 @@ const CXXRecordDecl *Expr::getBestDynamicClassType() const {
7171
if (const PointerType *PTy = DerivedType->getAs<PointerType>())
7272
DerivedType = PTy->getPointeeType();
7373

74+
while (const ArrayType *ATy = DerivedType->getAsArrayTypeUnsafe())
75+
DerivedType = ATy->getElementType();
76+
7477
if (DerivedType->isDependentType())
7578
return nullptr;
7679

clang/lib/CodeGen/CGObjCMac.cpp

Lines changed: 27 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2011,7 +2011,7 @@ CodeGen::RValue CGObjCMac::GenerateMessageSendSuper(
20112011
CGF.Builder.CreateStructGEP(ObjCSuper, 0));
20122012

20132013
// If this is a class message the metaclass is passed as the target.
2014-
llvm::Type *ClassTyPtr = llvm::PointerType::getUnqual(ObjCTypes.ClassTy);
2014+
llvm::Type *ClassTyPtr = llvm::PointerType::getUnqual(VMContext);
20152015
llvm::Value *Target;
20162016
if (IsClassMessage) {
20172017
if (isCategoryImpl) {
@@ -5657,7 +5657,7 @@ ObjCCommonTypesHelper::ObjCCommonTypesHelper(CodeGen::CodeGenModule &cgm)
56575657
IvarOffsetVarTy = LongTy;
56585658

56595659
ObjectPtrTy = cast<llvm::PointerType>(Types.ConvertType(Ctx.getObjCIdType()));
5660-
PtrObjectPtrTy = llvm::PointerType::getUnqual(ObjectPtrTy);
5660+
PtrObjectPtrTy = llvm::PointerType::getUnqual(VMContext);
56615661
SelectorPtrTy =
56625662
cast<llvm::PointerType>(Types.ConvertType(Ctx.getObjCSelType()));
56635663

@@ -5688,7 +5688,7 @@ ObjCCommonTypesHelper::ObjCCommonTypesHelper(CodeGen::CodeGenModule &cgm)
56885688
SuperPtrCTy = Ctx.getPointerType(SuperCTy);
56895689

56905690
SuperTy = cast<llvm::StructType>(Types.ConvertType(SuperCTy));
5691-
SuperPtrTy = llvm::PointerType::getUnqual(SuperTy);
5691+
SuperPtrTy = llvm::PointerType::getUnqual(VMContext);
56925692

56935693
// struct _prop_t {
56945694
// char *name;
@@ -5704,7 +5704,7 @@ ObjCCommonTypesHelper::ObjCCommonTypesHelper(CodeGen::CodeGenModule &cgm)
57045704
PropertyListTy = llvm::StructType::create(
57055705
"struct._prop_list_t", IntTy, IntTy, llvm::ArrayType::get(PropertyTy, 0));
57065706
// struct _prop_list_t *
5707-
PropertyListPtrTy = llvm::PointerType::getUnqual(PropertyListTy);
5707+
PropertyListPtrTy = llvm::PointerType::getUnqual(VMContext);
57085708

57095709
// struct _objc_method {
57105710
// SEL _cmd;
@@ -5716,7 +5716,7 @@ ObjCCommonTypesHelper::ObjCCommonTypesHelper(CodeGen::CodeGenModule &cgm)
57165716

57175717
// struct _objc_cache *
57185718
CacheTy = llvm::StructType::create(VMContext, "struct._objc_cache");
5719-
CachePtrTy = llvm::PointerType::getUnqual(CacheTy);
5719+
CachePtrTy = llvm::PointerType::getUnqual(VMContext);
57205720
}
57215721

57225722
ObjCTypesHelper::ObjCTypesHelper(CodeGen::CodeGenModule &cgm)
@@ -5737,8 +5737,7 @@ ObjCTypesHelper::ObjCTypesHelper(CodeGen::CodeGenModule &cgm)
57375737
llvm::ArrayType::get(MethodDescriptionTy, 0));
57385738

57395739
// struct _objc_method_description_list *
5740-
MethodDescriptionListPtrTy =
5741-
llvm::PointerType::getUnqual(MethodDescriptionListTy);
5740+
MethodDescriptionListPtrTy = llvm::PointerType::getUnqual(VMContext);
57425741

57435742
// Protocol description structures
57445743

@@ -5756,7 +5755,7 @@ ObjCTypesHelper::ObjCTypesHelper(CodeGen::CodeGenModule &cgm)
57565755
PropertyListPtrTy);
57575756

57585757
// struct _objc_protocol_extension *
5759-
ProtocolExtensionPtrTy = llvm::PointerType::getUnqual(ProtocolExtensionTy);
5758+
ProtocolExtensionPtrTy = llvm::PointerType::getUnqual(VMContext);
57605759

57615760
// Handle construction of Protocol and ProtocolList types
57625761

@@ -5779,9 +5778,9 @@ ObjCTypesHelper::ObjCTypesHelper(CodeGen::CodeGenModule &cgm)
57795778
"struct._objc_protocol_list");
57805779

57815780
// struct _objc_protocol_list *
5782-
ProtocolListPtrTy = llvm::PointerType::getUnqual(ProtocolListTy);
5781+
ProtocolListPtrTy = llvm::PointerType::getUnqual(VMContext);
57835782

5784-
ProtocolPtrTy = llvm::PointerType::getUnqual(ProtocolTy);
5783+
ProtocolPtrTy = llvm::PointerType::getUnqual(VMContext);
57855784

57865785
// Class description structures
57875786

@@ -5795,17 +5794,17 @@ ObjCTypesHelper::ObjCTypesHelper(CodeGen::CodeGenModule &cgm)
57955794

57965795
// struct _objc_ivar_list *
57975796
IvarListTy = llvm::StructType::create(VMContext, "struct._objc_ivar_list");
5798-
IvarListPtrTy = llvm::PointerType::getUnqual(IvarListTy);
5797+
IvarListPtrTy = llvm::PointerType::getUnqual(VMContext);
57995798

58005799
// struct _objc_method_list *
58015800
MethodListTy =
58025801
llvm::StructType::create(VMContext, "struct._objc_method_list");
5803-
MethodListPtrTy = llvm::PointerType::getUnqual(MethodListTy);
5802+
MethodListPtrTy = llvm::PointerType::getUnqual(VMContext);
58045803

58055804
// struct _objc_class_extension *
58065805
ClassExtensionTy = llvm::StructType::create(
58075806
"struct._objc_class_extension", IntTy, Int8PtrTy, PropertyListPtrTy);
5808-
ClassExtensionPtrTy = llvm::PointerType::getUnqual(ClassExtensionTy);
5807+
ClassExtensionPtrTy = llvm::PointerType::getUnqual(VMContext);
58095808

58105809
// struct _objc_class {
58115810
// Class isa;
@@ -5828,7 +5827,7 @@ ObjCTypesHelper::ObjCTypesHelper(CodeGen::CodeGenModule &cgm)
58285827
Int8PtrTy, ClassExtensionPtrTy},
58295828
"struct._objc_class");
58305829

5831-
ClassPtrTy = llvm::PointerType::getUnqual(ClassTy);
5830+
ClassPtrTy = llvm::PointerType::getUnqual(VMContext);
58325831

58335832
// struct _objc_category {
58345833
// char *category_name;
@@ -5857,7 +5856,7 @@ ObjCTypesHelper::ObjCTypesHelper(CodeGen::CodeGenModule &cgm)
58575856
SymtabTy = llvm::StructType::create("struct._objc_symtab", LongTy,
58585857
SelectorPtrTy, ShortTy, ShortTy,
58595858
llvm::ArrayType::get(Int8PtrTy, 0));
5860-
SymtabPtrTy = llvm::PointerType::getUnqual(SymtabTy);
5859+
SymtabPtrTy = llvm::PointerType::getUnqual(VMContext);
58615860

58625861
// struct _objc_module {
58635862
// long version;
@@ -5892,7 +5891,7 @@ ObjCNonFragileABITypesHelper::ObjCNonFragileABITypesHelper(
58925891
llvm::StructType::create("struct.__method_list_t", IntTy, IntTy,
58935892
llvm::ArrayType::get(MethodTy, 0));
58945893
// struct method_list_t *
5895-
MethodListnfABIPtrTy = llvm::PointerType::getUnqual(MethodListnfABITy);
5894+
MethodListnfABIPtrTy = llvm::PointerType::getUnqual(VMContext);
58965895

58975896
// struct _protocol_t {
58985897
// id isa; // NULL
@@ -5918,7 +5917,7 @@ ObjCNonFragileABITypesHelper::ObjCNonFragileABITypesHelper(
59185917
PropertyListPtrTy);
59195918

59205919
// struct _protocol_t*
5921-
ProtocolnfABIPtrTy = llvm::PointerType::getUnqual(ProtocolnfABITy);
5920+
ProtocolnfABIPtrTy = llvm::PointerType::getUnqual(VMContext);
59225921

59235922
// struct _protocol_list_t {
59245923
// long protocol_count; // Note, this is 32/64 bit
@@ -5929,7 +5928,7 @@ ObjCNonFragileABITypesHelper::ObjCNonFragileABITypesHelper(
59295928
"struct._objc_protocol_list");
59305929

59315930
// struct _objc_protocol_list*
5932-
ProtocolListnfABIPtrTy = llvm::PointerType::getUnqual(ProtocolListnfABITy);
5931+
ProtocolListnfABIPtrTy = llvm::PointerType::getUnqual(VMContext);
59335932

59345933
// struct _ivar_t {
59355934
// unsigned [long] int *offset; // pointer to ivar offset location
@@ -5939,8 +5938,8 @@ ObjCNonFragileABITypesHelper::ObjCNonFragileABITypesHelper(
59395938
// uint32_t size;
59405939
// }
59415940
IvarnfABITy = llvm::StructType::create(
5942-
"struct._ivar_t", llvm::PointerType::getUnqual(IvarOffsetVarTy),
5943-
Int8PtrTy, Int8PtrTy, IntTy, IntTy);
5941+
"struct._ivar_t", llvm::PointerType::getUnqual(VMContext), Int8PtrTy,
5942+
Int8PtrTy, IntTy, IntTy);
59445943

59455944
// struct _ivar_list_t {
59465945
// uint32 entsize; // sizeof(struct _ivar_t)
@@ -5951,7 +5950,7 @@ ObjCNonFragileABITypesHelper::ObjCNonFragileABITypesHelper(
59515950
llvm::StructType::create("struct._ivar_list_t", IntTy, IntTy,
59525951
llvm::ArrayType::get(IvarnfABITy, 0));
59535952

5954-
IvarListnfABIPtrTy = llvm::PointerType::getUnqual(IvarListnfABITy);
5953+
IvarListnfABIPtrTy = llvm::PointerType::getUnqual(VMContext);
59555954

59565955
// struct _class_ro_t {
59575956
// uint32_t const flags;
@@ -5987,12 +5986,12 @@ ObjCNonFragileABITypesHelper::ObjCNonFragileABITypesHelper(
59875986
ClassnfABITy = llvm::StructType::create(
59885987
{llvm::PointerType::getUnqual(VMContext),
59895988
llvm::PointerType::getUnqual(VMContext), CachePtrTy,
5990-
llvm::PointerType::getUnqual(ImpnfABITy),
5991-
llvm::PointerType::getUnqual(ClassRonfABITy)},
5989+
llvm::PointerType::getUnqual(VMContext),
5990+
llvm::PointerType::getUnqual(VMContext)},
59925991
"struct._class_t");
59935992

59945993
// LLVM for struct _class_t *
5995-
ClassnfABIPtrTy = llvm::PointerType::getUnqual(ClassnfABITy);
5994+
ClassnfABIPtrTy = llvm::PointerType::getUnqual(VMContext);
59965995

59975996
// struct _category_t {
59985997
// const char * const name;
@@ -6036,7 +6035,7 @@ ObjCNonFragileABITypesHelper::ObjCNonFragileABITypesHelper(
60366035
MessageRefTy = cast<llvm::StructType>(Types.ConvertType(MessageRefCTy));
60376036

60386037
// MessageRefPtrTy - LLVM for struct _message_ref_t*
6039-
MessageRefPtrTy = llvm::PointerType::getUnqual(MessageRefTy);
6038+
MessageRefPtrTy = llvm::PointerType::getUnqual(VMContext);
60406039

60416040
// SuperMessageRefTy - LLVM for:
60426041
// struct _super_message_ref_t {
@@ -6047,17 +6046,17 @@ ObjCNonFragileABITypesHelper::ObjCNonFragileABITypesHelper(
60476046
ImpnfABITy, SelectorPtrTy);
60486047

60496048
// SuperMessageRefPtrTy - LLVM for struct _super_message_ref_t*
6050-
SuperMessageRefPtrTy = llvm::PointerType::getUnqual(SuperMessageRefTy);
6049+
SuperMessageRefPtrTy = llvm::PointerType::getUnqual(VMContext);
60516050

60526051
// struct objc_typeinfo {
60536052
// const void** vtable; // objc_ehtype_vtable + 2
60546053
// const char* name; // c++ typeinfo string
60556054
// Class cls;
60566055
// };
60576056
EHTypeTy = llvm::StructType::create("struct._objc_typeinfo",
6058-
llvm::PointerType::getUnqual(Int8PtrTy),
6057+
llvm::PointerType::getUnqual(VMContext),
60596058
Int8PtrTy, ClassnfABIPtrTy);
6060-
EHTypePtrTy = llvm::PointerType::getUnqual(EHTypeTy);
6059+
EHTypePtrTy = llvm::PointerType::getUnqual(VMContext);
60616060
}
60626061

60636062
llvm::Function *CGObjCNonFragileABIMac::ModuleInitFunction() {

clang/lib/CodeGen/MicrosoftCXXABI.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2034,6 +2034,9 @@ llvm::Value *MicrosoftCXXABI::EmitVirtualDestructorCall(
20342034
ThisTy = D->getDestroyedType();
20352035
}
20362036

2037+
while (const ArrayType *ATy = Context.getAsArrayType(ThisTy))
2038+
ThisTy = ATy->getElementType();
2039+
20372040
This = adjustThisArgumentForVirtualFunctionCall(CGF, GD, This, true);
20382041
RValue RV =
20392042
CGF.EmitCXXDestructorCall(GD, Callee, This.emitRawPointer(CGF), ThisTy,

clang/lib/CodeGen/TargetBuiltins/X86.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1049,9 +1049,9 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
10491049
case X86::BI__builtin_ia32_vfmaddph512_mask:
10501050
case X86::BI__builtin_ia32_vfmaddph512_maskz:
10511051
case X86::BI__builtin_ia32_vfmaddph512_mask3:
1052-
case X86::BI__builtin_ia32_vfmaddnepbh128:
1053-
case X86::BI__builtin_ia32_vfmaddnepbh256:
1054-
case X86::BI__builtin_ia32_vfmaddnepbh512:
1052+
case X86::BI__builtin_ia32_vfmaddbf16128:
1053+
case X86::BI__builtin_ia32_vfmaddbf16256:
1054+
case X86::BI__builtin_ia32_vfmaddbf16512:
10551055
case X86::BI__builtin_ia32_vfmaddps512_mask:
10561056
case X86::BI__builtin_ia32_vfmaddps512_maskz:
10571057
case X86::BI__builtin_ia32_vfmaddps512_mask3:

clang/lib/Driver/ToolChains/Flang.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -427,6 +427,9 @@ void Flang::AddAMDGPUTargetArgs(const ArgList &Args,
427427
if (Arg *A = Args.getLastArg(options::OPT_mcode_object_version_EQ)) {
428428
StringRef Val = A->getValue();
429429
CmdArgs.push_back(Args.MakeArgString("-mcode-object-version=" + Val));
430+
CmdArgs.push_back(Args.MakeArgString("-mllvm"));
431+
CmdArgs.push_back(
432+
Args.MakeArgString("--amdhsa-code-object-version=" + Val));
430433
}
431434

432435
const ToolChain &TC = getToolChain();

clang/lib/Headers/avx10_2_512bf16intrin.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -441,8 +441,8 @@ _mm512_maskz_sqrt_pbh(__mmask32 __U, __m512bh __A) {
441441

442442
static __inline__ __m512bh __DEFAULT_FN_ATTRS512
443443
_mm512_fmadd_pbh(__m512bh __A, __m512bh __B, __m512bh __C) {
444-
return (__m512bh)__builtin_ia32_vfmaddnepbh512((__v32bf)__A, (__v32bf)__B,
445-
(__v32bf)__C);
444+
return (__m512bh)__builtin_ia32_vfmaddbf16512((__v32bf)__A, (__v32bf)__B,
445+
(__v32bf)__C);
446446
}
447447

448448
static __inline__ __m512bh __DEFAULT_FN_ATTRS512
@@ -469,8 +469,8 @@ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_maskz_fmadd_pbh(
469469

470470
static __inline__ __m512bh __DEFAULT_FN_ATTRS512
471471
_mm512_fmsub_pbh(__m512bh __A, __m512bh __B, __m512bh __C) {
472-
return (__m512bh)__builtin_ia32_vfmaddnepbh512((__v32bf)__A, (__v32bf)__B,
473-
-(__v32bf)__C);
472+
return (__m512bh)__builtin_ia32_vfmaddbf16512((__v32bf)__A, (__v32bf)__B,
473+
-(__v32bf)__C);
474474
}
475475

476476
static __inline__ __m512bh __DEFAULT_FN_ATTRS512
@@ -497,8 +497,8 @@ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_maskz_fmsub_pbh(
497497

498498
static __inline__ __m512bh __DEFAULT_FN_ATTRS512
499499
_mm512_fnmadd_pbh(__m512bh __A, __m512bh __B, __m512bh __C) {
500-
return (__m512bh)__builtin_ia32_vfmaddnepbh512((__v32bf)__A, -(__v32bf)__B,
501-
(__v32bf)__C);
500+
return (__m512bh)__builtin_ia32_vfmaddbf16512((__v32bf)__A, -(__v32bf)__B,
501+
(__v32bf)__C);
502502
}
503503

504504
static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_mask_fnmadd_pbh(
@@ -527,8 +527,8 @@ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_maskz_fnmadd_pbh(
527527

528528
static __inline__ __m512bh __DEFAULT_FN_ATTRS512
529529
_mm512_fnmsub_pbh(__m512bh __A, __m512bh __B, __m512bh __C) {
530-
return (__m512bh)__builtin_ia32_vfmaddnepbh512((__v32bf)__A, -(__v32bf)__B,
531-
-(__v32bf)__C);
530+
return (__m512bh)__builtin_ia32_vfmaddbf16512((__v32bf)__A, -(__v32bf)__B,
531+
-(__v32bf)__C);
532532
}
533533

534534
static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_mask_fnmsub_pbh(

clang/lib/Headers/avx10_2bf16intrin.h

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -852,8 +852,8 @@ _mm_maskz_sqrt_pbh(__mmask8 __U, __m128bh __A) {
852852

853853
static __inline__ __m256bh __DEFAULT_FN_ATTRS256
854854
_mm256_fmadd_pbh(__m256bh __A, __m256bh __B, __m256bh __C) {
855-
return (__m256bh)__builtin_ia32_vfmaddnepbh256((__v16bf)__A, (__v16bf)__B,
856-
(__v16bf)__C);
855+
return (__m256bh)__builtin_ia32_vfmaddbf16256((__v16bf)__A, (__v16bf)__B,
856+
(__v16bf)__C);
857857
}
858858

859859
static __inline__ __m256bh __DEFAULT_FN_ATTRS256
@@ -880,8 +880,8 @@ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_maskz_fmadd_pbh(
880880

881881
static __inline__ __m256bh __DEFAULT_FN_ATTRS256
882882
_mm256_fmsub_pbh(__m256bh __A, __m256bh __B, __m256bh __C) {
883-
return (__m256bh)__builtin_ia32_vfmaddnepbh256((__v16bf)__A, (__v16bf)__B,
884-
-(__v16bf)__C);
883+
return (__m256bh)__builtin_ia32_vfmaddbf16256((__v16bf)__A, (__v16bf)__B,
884+
-(__v16bf)__C);
885885
}
886886

887887
static __inline__ __m256bh __DEFAULT_FN_ATTRS256
@@ -908,8 +908,8 @@ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_maskz_fmsub_pbh(
908908

909909
static __inline__ __m256bh __DEFAULT_FN_ATTRS256
910910
_mm256_fnmadd_pbh(__m256bh __A, __m256bh __B, __m256bh __C) {
911-
return (__m256bh)__builtin_ia32_vfmaddnepbh256((__v16bf)__A, -(__v16bf)__B,
912-
(__v16bf)__C);
911+
return (__m256bh)__builtin_ia32_vfmaddbf16256((__v16bf)__A, -(__v16bf)__B,
912+
(__v16bf)__C);
913913
}
914914

915915
static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_mask_fnmadd_pbh(
@@ -938,8 +938,8 @@ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_maskz_fnmadd_pbh(
938938

939939
static __inline__ __m256bh __DEFAULT_FN_ATTRS256
940940
_mm256_fnmsub_pbh(__m256bh __A, __m256bh __B, __m256bh __C) {
941-
return (__m256bh)__builtin_ia32_vfmaddnepbh256((__v16bf)__A, -(__v16bf)__B,
942-
-(__v16bf)__C);
941+
return (__m256bh)__builtin_ia32_vfmaddbf16256((__v16bf)__A, -(__v16bf)__B,
942+
-(__v16bf)__C);
943943
}
944944

945945
static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_mask_fnmsub_pbh(
@@ -969,8 +969,8 @@ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_maskz_fnmsub_pbh(
969969
static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_fmadd_pbh(__m128bh __A,
970970
__m128bh __B,
971971
__m128bh __C) {
972-
return (__m128bh)__builtin_ia32_vfmaddnepbh128((__v8bf)__A, (__v8bf)__B,
973-
(__v8bf)__C);
972+
return (__m128bh)__builtin_ia32_vfmaddbf16128((__v8bf)__A, (__v8bf)__B,
973+
(__v8bf)__C);
974974
}
975975

976976
static __inline__ __m128bh __DEFAULT_FN_ATTRS128
@@ -997,8 +997,8 @@ _mm_maskz_fmadd_pbh(__mmask8 __U, __m128bh __A, __m128bh __B, __m128bh __C) {
997997
static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_fmsub_pbh(__m128bh __A,
998998
__m128bh __B,
999999
__m128bh __C) {
1000-
return (__m128bh)__builtin_ia32_vfmaddnepbh128((__v8bf)__A, (__v8bf)__B,
1001-
-(__v8bf)__C);
1000+
return (__m128bh)__builtin_ia32_vfmaddbf16128((__v8bf)__A, (__v8bf)__B,
1001+
-(__v8bf)__C);
10021002
}
10031003

10041004
static __inline__ __m128bh __DEFAULT_FN_ATTRS128
@@ -1025,8 +1025,8 @@ _mm_maskz_fmsub_pbh(__mmask8 __U, __m128bh __A, __m128bh __B, __m128bh __C) {
10251025
static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_fnmadd_pbh(__m128bh __A,
10261026
__m128bh __B,
10271027
__m128bh __C) {
1028-
return (__m128bh)__builtin_ia32_vfmaddnepbh128((__v8bf)__A, -(__v8bf)__B,
1029-
(__v8bf)__C);
1028+
return (__m128bh)__builtin_ia32_vfmaddbf16128((__v8bf)__A, -(__v8bf)__B,
1029+
(__v8bf)__C);
10301030
}
10311031

10321032
static __inline__ __m128bh __DEFAULT_FN_ATTRS128
@@ -1053,8 +1053,8 @@ _mm_maskz_fnmadd_pbh(__mmask8 __U, __m128bh __A, __m128bh __B, __m128bh __C) {
10531053
static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_fnmsub_pbh(__m128bh __A,
10541054
__m128bh __B,
10551055
__m128bh __C) {
1056-
return (__m128bh)__builtin_ia32_vfmaddnepbh128((__v8bf)__A, -(__v8bf)__B,
1057-
-(__v8bf)__C);
1056+
return (__m128bh)__builtin_ia32_vfmaddbf16128((__v8bf)__A, -(__v8bf)__B,
1057+
-(__v8bf)__C);
10581058
}
10591059

10601060
static __inline__ __m128bh __DEFAULT_FN_ATTRS128

0 commit comments

Comments
 (0)