Skip to content

Commit 09feaa9

Browse files
authored
Revert "[X86][AVX10.2] Support YMM rounding new instructions (#101825)" (#132362)
This reverts commit 0dba538. YMM rounding was removed from AVX10 whitepaper. Ref: https://cdrdv2.intel.com/v1/dl/getContent/784343 The MINMAX and SATURATING CONVERT instructions will be removed as a follow up.
1 parent ff8a960 commit 09feaa9

File tree

16 files changed

+8
-16879
lines changed

16 files changed

+8
-16879
lines changed

clang/include/clang/Basic/BuiltinsX86.td

Lines changed: 0 additions & 126 deletions
Large diffs are not rendered by default.

clang/lib/CodeGen/CGBuiltin.cpp

Lines changed: 0 additions & 120 deletions
Original file line numberDiff line numberDiff line change
@@ -14801,54 +14801,6 @@ static Value *EmitX86FMAExpr(CodeGenFunction &CGF, const CallExpr *E,
1480114801
case clang::X86::BI__builtin_ia32_vfmaddsubpd512_mask3:
1480214802
IID = Intrinsic::x86_avx512_vfmaddsub_pd_512;
1480314803
break;
14804-
case clang::X86::BI__builtin_ia32_vfmsubph256_round_mask3:
14805-
Subtract = true;
14806-
LLVM_FALLTHROUGH;
14807-
case clang::X86::BI__builtin_ia32_vfmaddph256_round_mask:
14808-
case clang::X86::BI__builtin_ia32_vfmaddph256_round_maskz:
14809-
case clang::X86::BI__builtin_ia32_vfmaddph256_round_mask3:
14810-
IID = Intrinsic::x86_avx10_vfmaddph256;
14811-
break;
14812-
case clang::X86::BI__builtin_ia32_vfmsubaddph256_round_mask3:
14813-
Subtract = true;
14814-
LLVM_FALLTHROUGH;
14815-
case clang::X86::BI__builtin_ia32_vfmaddsubph256_round_mask:
14816-
case clang::X86::BI__builtin_ia32_vfmaddsubph256_round_maskz:
14817-
case clang::X86::BI__builtin_ia32_vfmaddsubph256_round_mask3:
14818-
IID = Intrinsic::x86_avx10_vfmaddsubph256;
14819-
break;
14820-
case clang::X86::BI__builtin_ia32_vfmsubps256_round_mask3:
14821-
Subtract = true;
14822-
LLVM_FALLTHROUGH;
14823-
case clang::X86::BI__builtin_ia32_vfmaddps256_round_mask:
14824-
case clang::X86::BI__builtin_ia32_vfmaddps256_round_maskz:
14825-
case clang::X86::BI__builtin_ia32_vfmaddps256_round_mask3:
14826-
IID = Intrinsic::x86_avx10_vfmaddps256;
14827-
break;
14828-
case clang::X86::BI__builtin_ia32_vfmsubpd256_round_mask3:
14829-
Subtract = true;
14830-
LLVM_FALLTHROUGH;
14831-
case clang::X86::BI__builtin_ia32_vfmaddpd256_round_mask:
14832-
case clang::X86::BI__builtin_ia32_vfmaddpd256_round_maskz:
14833-
case clang::X86::BI__builtin_ia32_vfmaddpd256_round_mask3:
14834-
IID = Intrinsic::x86_avx10_vfmaddpd256;
14835-
break;
14836-
case clang::X86::BI__builtin_ia32_vfmsubaddps256_round_mask3:
14837-
Subtract = true;
14838-
LLVM_FALLTHROUGH;
14839-
case clang::X86::BI__builtin_ia32_vfmaddsubps256_round_mask:
14840-
case clang::X86::BI__builtin_ia32_vfmaddsubps256_round_maskz:
14841-
case clang::X86::BI__builtin_ia32_vfmaddsubps256_round_mask3:
14842-
IID = Intrinsic::x86_avx10_vfmaddsubps256;
14843-
break;
14844-
case clang::X86::BI__builtin_ia32_vfmsubaddpd256_round_mask3:
14845-
Subtract = true;
14846-
LLVM_FALLTHROUGH;
14847-
case clang::X86::BI__builtin_ia32_vfmaddsubpd256_round_mask:
14848-
case clang::X86::BI__builtin_ia32_vfmaddsubpd256_round_maskz:
14849-
case clang::X86::BI__builtin_ia32_vfmaddsubpd256_round_mask3:
14850-
IID = Intrinsic::x86_avx10_vfmaddsubpd256;
14851-
break;
1485214804
}
1485314805

1485414806
Value *A = Ops[0];
@@ -14888,12 +14840,6 @@ static Value *EmitX86FMAExpr(CodeGenFunction &CGF, const CallExpr *E,
1488814840
case clang::X86::BI__builtin_ia32_vfmaddsubph512_mask:
1488914841
case clang::X86::BI__builtin_ia32_vfmaddsubps512_mask:
1489014842
case clang::X86::BI__builtin_ia32_vfmaddsubpd512_mask:
14891-
case clang::X86::BI__builtin_ia32_vfmaddph256_round_mask:
14892-
case clang::X86::BI__builtin_ia32_vfmaddps256_round_mask:
14893-
case clang::X86::BI__builtin_ia32_vfmaddpd256_round_mask:
14894-
case clang::X86::BI__builtin_ia32_vfmaddsubph256_round_mask:
14895-
case clang::X86::BI__builtin_ia32_vfmaddsubps256_round_mask:
14896-
case clang::X86::BI__builtin_ia32_vfmaddsubpd256_round_mask:
1489714843
MaskFalseVal = Ops[0];
1489814844
break;
1489914845
case clang::X86::BI__builtin_ia32_vfmaddph512_maskz:
@@ -14902,12 +14848,6 @@ static Value *EmitX86FMAExpr(CodeGenFunction &CGF, const CallExpr *E,
1490214848
case clang::X86::BI__builtin_ia32_vfmaddsubph512_maskz:
1490314849
case clang::X86::BI__builtin_ia32_vfmaddsubps512_maskz:
1490414850
case clang::X86::BI__builtin_ia32_vfmaddsubpd512_maskz:
14905-
case clang::X86::BI__builtin_ia32_vfmaddph256_round_maskz:
14906-
case clang::X86::BI__builtin_ia32_vfmaddps256_round_maskz:
14907-
case clang::X86::BI__builtin_ia32_vfmaddpd256_round_maskz:
14908-
case clang::X86::BI__builtin_ia32_vfmaddsubph256_round_maskz:
14909-
case clang::X86::BI__builtin_ia32_vfmaddsubps256_round_maskz:
14910-
case clang::X86::BI__builtin_ia32_vfmaddsubpd256_round_maskz:
1491114851
MaskFalseVal = Constant::getNullValue(Ops[0]->getType());
1491214852
break;
1491314853
case clang::X86::BI__builtin_ia32_vfmsubph512_mask3:
@@ -14922,18 +14862,6 @@ static Value *EmitX86FMAExpr(CodeGenFunction &CGF, const CallExpr *E,
1492214862
case clang::X86::BI__builtin_ia32_vfmaddsubps512_mask3:
1492314863
case clang::X86::BI__builtin_ia32_vfmsubaddpd512_mask3:
1492414864
case clang::X86::BI__builtin_ia32_vfmaddsubpd512_mask3:
14925-
case clang::X86::BI__builtin_ia32_vfmsubph256_round_mask3:
14926-
case clang::X86::BI__builtin_ia32_vfmaddph256_round_mask3:
14927-
case clang::X86::BI__builtin_ia32_vfmsubps256_round_mask3:
14928-
case clang::X86::BI__builtin_ia32_vfmaddps256_round_mask3:
14929-
case clang::X86::BI__builtin_ia32_vfmsubpd256_round_mask3:
14930-
case clang::X86::BI__builtin_ia32_vfmaddpd256_round_mask3:
14931-
case clang::X86::BI__builtin_ia32_vfmsubaddph256_round_mask3:
14932-
case clang::X86::BI__builtin_ia32_vfmaddsubph256_round_mask3:
14933-
case clang::X86::BI__builtin_ia32_vfmsubaddps256_round_mask3:
14934-
case clang::X86::BI__builtin_ia32_vfmaddsubps256_round_mask3:
14935-
case clang::X86::BI__builtin_ia32_vfmsubaddpd256_round_mask3:
14936-
case clang::X86::BI__builtin_ia32_vfmaddsubpd256_round_mask3:
1493714865
MaskFalseVal = Ops[2];
1493814866
break;
1493914867
}
@@ -15630,25 +15558,13 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
1563015558
case X86::BI__builtin_ia32_vcvtw2ph512_mask:
1563115559
case X86::BI__builtin_ia32_vcvtdq2ph512_mask:
1563215560
case X86::BI__builtin_ia32_vcvtqq2ph512_mask:
15633-
case X86::BI__builtin_ia32_vcvtdq2ph256_round_mask:
15634-
case X86::BI__builtin_ia32_vcvtdq2ps256_round_mask:
15635-
case X86::BI__builtin_ia32_vcvtqq2pd256_round_mask:
15636-
case X86::BI__builtin_ia32_vcvtqq2ph256_round_mask:
15637-
case X86::BI__builtin_ia32_vcvtqq2ps256_round_mask:
15638-
case X86::BI__builtin_ia32_vcvtw2ph256_round_mask:
1563915561
return EmitX86ConvertIntToFp(*this, E, Ops, /*IsSigned*/ true);
1564015562
case X86::BI__builtin_ia32_cvtudq2ps512_mask:
1564115563
case X86::BI__builtin_ia32_cvtuqq2ps512_mask:
1564215564
case X86::BI__builtin_ia32_cvtuqq2pd512_mask:
1564315565
case X86::BI__builtin_ia32_vcvtuw2ph512_mask:
1564415566
case X86::BI__builtin_ia32_vcvtudq2ph512_mask:
1564515567
case X86::BI__builtin_ia32_vcvtuqq2ph512_mask:
15646-
case X86::BI__builtin_ia32_vcvtudq2ph256_round_mask:
15647-
case X86::BI__builtin_ia32_vcvtudq2ps256_round_mask:
15648-
case X86::BI__builtin_ia32_vcvtuqq2pd256_round_mask:
15649-
case X86::BI__builtin_ia32_vcvtuqq2ph256_round_mask:
15650-
case X86::BI__builtin_ia32_vcvtuqq2ps256_round_mask:
15651-
case X86::BI__builtin_ia32_vcvtuw2ph256_round_mask:
1565215568
return EmitX86ConvertIntToFp(*this, E, Ops, /*IsSigned*/ false);
1565315569

1565415570
case X86::BI__builtin_ia32_vfmaddss3:
@@ -15695,18 +15611,6 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
1569515611
case X86::BI__builtin_ia32_vfmaddpd512_mask3:
1569615612
case X86::BI__builtin_ia32_vfmsubpd512_mask3:
1569715613
case X86::BI__builtin_ia32_vfmsubph512_mask3:
15698-
case X86::BI__builtin_ia32_vfmaddph256_round_mask:
15699-
case X86::BI__builtin_ia32_vfmaddph256_round_maskz:
15700-
case X86::BI__builtin_ia32_vfmaddph256_round_mask3:
15701-
case X86::BI__builtin_ia32_vfmaddps256_round_mask:
15702-
case X86::BI__builtin_ia32_vfmaddps256_round_maskz:
15703-
case X86::BI__builtin_ia32_vfmaddps256_round_mask3:
15704-
case X86::BI__builtin_ia32_vfmsubps256_round_mask3:
15705-
case X86::BI__builtin_ia32_vfmaddpd256_round_mask:
15706-
case X86::BI__builtin_ia32_vfmaddpd256_round_maskz:
15707-
case X86::BI__builtin_ia32_vfmaddpd256_round_mask3:
15708-
case X86::BI__builtin_ia32_vfmsubpd256_round_mask3:
15709-
case X86::BI__builtin_ia32_vfmsubph256_round_mask3:
1571015614
return EmitX86FMAExpr(*this, E, Ops, BuiltinID, /*IsAddSub*/ false);
1571115615
case X86::BI__builtin_ia32_vfmaddsubph512_mask:
1571215616
case X86::BI__builtin_ia32_vfmaddsubph512_maskz:
@@ -15720,18 +15624,6 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
1572015624
case X86::BI__builtin_ia32_vfmaddsubpd512_maskz:
1572115625
case X86::BI__builtin_ia32_vfmaddsubpd512_mask3:
1572215626
case X86::BI__builtin_ia32_vfmsubaddpd512_mask3:
15723-
case X86::BI__builtin_ia32_vfmaddsubph256_round_mask:
15724-
case X86::BI__builtin_ia32_vfmaddsubph256_round_maskz:
15725-
case X86::BI__builtin_ia32_vfmaddsubph256_round_mask3:
15726-
case X86::BI__builtin_ia32_vfmsubaddph256_round_mask3:
15727-
case X86::BI__builtin_ia32_vfmaddsubps256_round_mask:
15728-
case X86::BI__builtin_ia32_vfmaddsubps256_round_maskz:
15729-
case X86::BI__builtin_ia32_vfmaddsubps256_round_mask3:
15730-
case X86::BI__builtin_ia32_vfmsubaddps256_round_mask3:
15731-
case X86::BI__builtin_ia32_vfmaddsubpd256_round_mask:
15732-
case X86::BI__builtin_ia32_vfmaddsubpd256_round_maskz:
15733-
case X86::BI__builtin_ia32_vfmaddsubpd256_round_mask3:
15734-
case X86::BI__builtin_ia32_vfmsubaddpd256_round_mask3:
1573515627
return EmitX86FMAExpr(*this, E, Ops, BuiltinID, /*IsAddSub*/ true);
1573615628

1573715629
case X86::BI__builtin_ia32_movdqa32store128_mask:
@@ -17328,9 +17220,6 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
1732817220
case X86::BI__builtin_ia32_cmppd128_mask:
1732917221
case X86::BI__builtin_ia32_cmppd256_mask:
1733017222
case X86::BI__builtin_ia32_cmppd512_mask:
17331-
case X86::BI__builtin_ia32_vcmppd256_round_mask:
17332-
case X86::BI__builtin_ia32_vcmpps256_round_mask:
17333-
case X86::BI__builtin_ia32_vcmpph256_round_mask:
1733417223
case X86::BI__builtin_ia32_vcmpbf16512_mask:
1733517224
case X86::BI__builtin_ia32_vcmpbf16256_mask:
1733617225
case X86::BI__builtin_ia32_vcmpbf16128_mask:
@@ -17905,15 +17794,6 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
1790517794
Value *Call = Builder.CreateCall(CGM.getIntrinsic(IID), Ops);
1790617795
return EmitX86Select(*this, Ops[3], Call, Ops[0]);
1790717796
}
17908-
case X86::BI__builtin_ia32_vfcmaddcph256_round_mask:
17909-
IsConjFMA = true;
17910-
LLVM_FALLTHROUGH;
17911-
case X86::BI__builtin_ia32_vfmaddcph256_round_mask: {
17912-
Intrinsic::ID IID = IsConjFMA ? Intrinsic::x86_avx10_mask_vfcmaddcph256
17913-
: Intrinsic::x86_avx10_mask_vfmaddcph256;
17914-
Value *Call = Builder.CreateCall(CGM.getIntrinsic(IID), Ops);
17915-
return EmitX86Select(*this, Ops[3], Call, Ops[0]);
17916-
}
1791717797
case X86::BI__builtin_ia32_vfcmaddcsh_round_mask:
1791817798
IsConjFMA = true;
1791917799
[[fallthrough]];

0 commit comments

Comments
 (0)