Skip to content

Commit 3cad497

Browse files
committed
Revert "[X86][AVX10.2] Support YMM rounding new instructions (llvm#101825)" (llvm#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 74bbc44 commit 3cad497

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
@@ -14620,54 +14620,6 @@ static Value *EmitX86FMAExpr(CodeGenFunction &CGF, const CallExpr *E,
1462014620
case clang::X86::BI__builtin_ia32_vfmaddsubpd512_mask3:
1462114621
IID = llvm::Intrinsic::x86_avx512_vfmaddsub_pd_512;
1462214622
break;
14623-
case clang::X86::BI__builtin_ia32_vfmsubph256_round_mask3:
14624-
Subtract = true;
14625-
LLVM_FALLTHROUGH;
14626-
case clang::X86::BI__builtin_ia32_vfmaddph256_round_mask:
14627-
case clang::X86::BI__builtin_ia32_vfmaddph256_round_maskz:
14628-
case clang::X86::BI__builtin_ia32_vfmaddph256_round_mask3:
14629-
IID = llvm::Intrinsic::x86_avx10_vfmaddph256;
14630-
break;
14631-
case clang::X86::BI__builtin_ia32_vfmsubaddph256_round_mask3:
14632-
Subtract = true;
14633-
LLVM_FALLTHROUGH;
14634-
case clang::X86::BI__builtin_ia32_vfmaddsubph256_round_mask:
14635-
case clang::X86::BI__builtin_ia32_vfmaddsubph256_round_maskz:
14636-
case clang::X86::BI__builtin_ia32_vfmaddsubph256_round_mask3:
14637-
IID = llvm::Intrinsic::x86_avx10_vfmaddsubph256;
14638-
break;
14639-
case clang::X86::BI__builtin_ia32_vfmsubps256_round_mask3:
14640-
Subtract = true;
14641-
LLVM_FALLTHROUGH;
14642-
case clang::X86::BI__builtin_ia32_vfmaddps256_round_mask:
14643-
case clang::X86::BI__builtin_ia32_vfmaddps256_round_maskz:
14644-
case clang::X86::BI__builtin_ia32_vfmaddps256_round_mask3:
14645-
IID = llvm::Intrinsic::x86_avx10_vfmaddps256;
14646-
break;
14647-
case clang::X86::BI__builtin_ia32_vfmsubpd256_round_mask3:
14648-
Subtract = true;
14649-
LLVM_FALLTHROUGH;
14650-
case clang::X86::BI__builtin_ia32_vfmaddpd256_round_mask:
14651-
case clang::X86::BI__builtin_ia32_vfmaddpd256_round_maskz:
14652-
case clang::X86::BI__builtin_ia32_vfmaddpd256_round_mask3:
14653-
IID = llvm::Intrinsic::x86_avx10_vfmaddpd256;
14654-
break;
14655-
case clang::X86::BI__builtin_ia32_vfmsubaddps256_round_mask3:
14656-
Subtract = true;
14657-
LLVM_FALLTHROUGH;
14658-
case clang::X86::BI__builtin_ia32_vfmaddsubps256_round_mask:
14659-
case clang::X86::BI__builtin_ia32_vfmaddsubps256_round_maskz:
14660-
case clang::X86::BI__builtin_ia32_vfmaddsubps256_round_mask3:
14661-
IID = llvm::Intrinsic::x86_avx10_vfmaddsubps256;
14662-
break;
14663-
case clang::X86::BI__builtin_ia32_vfmsubaddpd256_round_mask3:
14664-
Subtract = true;
14665-
LLVM_FALLTHROUGH;
14666-
case clang::X86::BI__builtin_ia32_vfmaddsubpd256_round_mask:
14667-
case clang::X86::BI__builtin_ia32_vfmaddsubpd256_round_maskz:
14668-
case clang::X86::BI__builtin_ia32_vfmaddsubpd256_round_mask3:
14669-
IID = llvm::Intrinsic::x86_avx10_vfmaddsubpd256;
14670-
break;
1467114623
}
1467214624

1467314625
Value *A = Ops[0];
@@ -14707,12 +14659,6 @@ static Value *EmitX86FMAExpr(CodeGenFunction &CGF, const CallExpr *E,
1470714659
case clang::X86::BI__builtin_ia32_vfmaddsubph512_mask:
1470814660
case clang::X86::BI__builtin_ia32_vfmaddsubps512_mask:
1470914661
case clang::X86::BI__builtin_ia32_vfmaddsubpd512_mask:
14710-
case clang::X86::BI__builtin_ia32_vfmaddph256_round_mask:
14711-
case clang::X86::BI__builtin_ia32_vfmaddps256_round_mask:
14712-
case clang::X86::BI__builtin_ia32_vfmaddpd256_round_mask:
14713-
case clang::X86::BI__builtin_ia32_vfmaddsubph256_round_mask:
14714-
case clang::X86::BI__builtin_ia32_vfmaddsubps256_round_mask:
14715-
case clang::X86::BI__builtin_ia32_vfmaddsubpd256_round_mask:
1471614662
MaskFalseVal = Ops[0];
1471714663
break;
1471814664
case clang::X86::BI__builtin_ia32_vfmaddph512_maskz:
@@ -14721,12 +14667,6 @@ static Value *EmitX86FMAExpr(CodeGenFunction &CGF, const CallExpr *E,
1472114667
case clang::X86::BI__builtin_ia32_vfmaddsubph512_maskz:
1472214668
case clang::X86::BI__builtin_ia32_vfmaddsubps512_maskz:
1472314669
case clang::X86::BI__builtin_ia32_vfmaddsubpd512_maskz:
14724-
case clang::X86::BI__builtin_ia32_vfmaddph256_round_maskz:
14725-
case clang::X86::BI__builtin_ia32_vfmaddps256_round_maskz:
14726-
case clang::X86::BI__builtin_ia32_vfmaddpd256_round_maskz:
14727-
case clang::X86::BI__builtin_ia32_vfmaddsubph256_round_maskz:
14728-
case clang::X86::BI__builtin_ia32_vfmaddsubps256_round_maskz:
14729-
case clang::X86::BI__builtin_ia32_vfmaddsubpd256_round_maskz:
1473014670
MaskFalseVal = Constant::getNullValue(Ops[0]->getType());
1473114671
break;
1473214672
case clang::X86::BI__builtin_ia32_vfmsubph512_mask3:
@@ -14741,18 +14681,6 @@ static Value *EmitX86FMAExpr(CodeGenFunction &CGF, const CallExpr *E,
1474114681
case clang::X86::BI__builtin_ia32_vfmaddsubps512_mask3:
1474214682
case clang::X86::BI__builtin_ia32_vfmsubaddpd512_mask3:
1474314683
case clang::X86::BI__builtin_ia32_vfmaddsubpd512_mask3:
14744-
case clang::X86::BI__builtin_ia32_vfmsubph256_round_mask3:
14745-
case clang::X86::BI__builtin_ia32_vfmaddph256_round_mask3:
14746-
case clang::X86::BI__builtin_ia32_vfmsubps256_round_mask3:
14747-
case clang::X86::BI__builtin_ia32_vfmaddps256_round_mask3:
14748-
case clang::X86::BI__builtin_ia32_vfmsubpd256_round_mask3:
14749-
case clang::X86::BI__builtin_ia32_vfmaddpd256_round_mask3:
14750-
case clang::X86::BI__builtin_ia32_vfmsubaddph256_round_mask3:
14751-
case clang::X86::BI__builtin_ia32_vfmaddsubph256_round_mask3:
14752-
case clang::X86::BI__builtin_ia32_vfmsubaddps256_round_mask3:
14753-
case clang::X86::BI__builtin_ia32_vfmaddsubps256_round_mask3:
14754-
case clang::X86::BI__builtin_ia32_vfmsubaddpd256_round_mask3:
14755-
case clang::X86::BI__builtin_ia32_vfmaddsubpd256_round_mask3:
1475614684
MaskFalseVal = Ops[2];
1475714685
break;
1475814686
}
@@ -15451,25 +15379,13 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
1545115379
case X86::BI__builtin_ia32_vcvtw2ph512_mask:
1545215380
case X86::BI__builtin_ia32_vcvtdq2ph512_mask:
1545315381
case X86::BI__builtin_ia32_vcvtqq2ph512_mask:
15454-
case X86::BI__builtin_ia32_vcvtdq2ph256_round_mask:
15455-
case X86::BI__builtin_ia32_vcvtdq2ps256_round_mask:
15456-
case X86::BI__builtin_ia32_vcvtqq2pd256_round_mask:
15457-
case X86::BI__builtin_ia32_vcvtqq2ph256_round_mask:
15458-
case X86::BI__builtin_ia32_vcvtqq2ps256_round_mask:
15459-
case X86::BI__builtin_ia32_vcvtw2ph256_round_mask:
1546015382
return EmitX86ConvertIntToFp(*this, E, Ops, /*IsSigned*/ true);
1546115383
case X86::BI__builtin_ia32_cvtudq2ps512_mask:
1546215384
case X86::BI__builtin_ia32_cvtuqq2ps512_mask:
1546315385
case X86::BI__builtin_ia32_cvtuqq2pd512_mask:
1546415386
case X86::BI__builtin_ia32_vcvtuw2ph512_mask:
1546515387
case X86::BI__builtin_ia32_vcvtudq2ph512_mask:
1546615388
case X86::BI__builtin_ia32_vcvtuqq2ph512_mask:
15467-
case X86::BI__builtin_ia32_vcvtudq2ph256_round_mask:
15468-
case X86::BI__builtin_ia32_vcvtudq2ps256_round_mask:
15469-
case X86::BI__builtin_ia32_vcvtuqq2pd256_round_mask:
15470-
case X86::BI__builtin_ia32_vcvtuqq2ph256_round_mask:
15471-
case X86::BI__builtin_ia32_vcvtuqq2ps256_round_mask:
15472-
case X86::BI__builtin_ia32_vcvtuw2ph256_round_mask:
1547315389
return EmitX86ConvertIntToFp(*this, E, Ops, /*IsSigned*/ false);
1547415390

1547515391
case X86::BI__builtin_ia32_vfmaddss3:
@@ -15516,18 +15432,6 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
1551615432
case X86::BI__builtin_ia32_vfmaddpd512_mask3:
1551715433
case X86::BI__builtin_ia32_vfmsubpd512_mask3:
1551815434
case X86::BI__builtin_ia32_vfmsubph512_mask3:
15519-
case X86::BI__builtin_ia32_vfmaddph256_round_mask:
15520-
case X86::BI__builtin_ia32_vfmaddph256_round_maskz:
15521-
case X86::BI__builtin_ia32_vfmaddph256_round_mask3:
15522-
case X86::BI__builtin_ia32_vfmaddps256_round_mask:
15523-
case X86::BI__builtin_ia32_vfmaddps256_round_maskz:
15524-
case X86::BI__builtin_ia32_vfmaddps256_round_mask3:
15525-
case X86::BI__builtin_ia32_vfmsubps256_round_mask3:
15526-
case X86::BI__builtin_ia32_vfmaddpd256_round_mask:
15527-
case X86::BI__builtin_ia32_vfmaddpd256_round_maskz:
15528-
case X86::BI__builtin_ia32_vfmaddpd256_round_mask3:
15529-
case X86::BI__builtin_ia32_vfmsubpd256_round_mask3:
15530-
case X86::BI__builtin_ia32_vfmsubph256_round_mask3:
1553115435
return EmitX86FMAExpr(*this, E, Ops, BuiltinID, /*IsAddSub*/ false);
1553215436
case X86::BI__builtin_ia32_vfmaddsubph512_mask:
1553315437
case X86::BI__builtin_ia32_vfmaddsubph512_maskz:
@@ -15541,18 +15445,6 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
1554115445
case X86::BI__builtin_ia32_vfmaddsubpd512_maskz:
1554215446
case X86::BI__builtin_ia32_vfmaddsubpd512_mask3:
1554315447
case X86::BI__builtin_ia32_vfmsubaddpd512_mask3:
15544-
case X86::BI__builtin_ia32_vfmaddsubph256_round_mask:
15545-
case X86::BI__builtin_ia32_vfmaddsubph256_round_maskz:
15546-
case X86::BI__builtin_ia32_vfmaddsubph256_round_mask3:
15547-
case X86::BI__builtin_ia32_vfmsubaddph256_round_mask3:
15548-
case X86::BI__builtin_ia32_vfmaddsubps256_round_mask:
15549-
case X86::BI__builtin_ia32_vfmaddsubps256_round_maskz:
15550-
case X86::BI__builtin_ia32_vfmaddsubps256_round_mask3:
15551-
case X86::BI__builtin_ia32_vfmsubaddps256_round_mask3:
15552-
case X86::BI__builtin_ia32_vfmaddsubpd256_round_mask:
15553-
case X86::BI__builtin_ia32_vfmaddsubpd256_round_maskz:
15554-
case X86::BI__builtin_ia32_vfmaddsubpd256_round_mask3:
15555-
case X86::BI__builtin_ia32_vfmsubaddpd256_round_mask3:
1555615448
return EmitX86FMAExpr(*this, E, Ops, BuiltinID, /*IsAddSub*/ true);
1555715449

1555815450
case X86::BI__builtin_ia32_movdqa32store128_mask:
@@ -17149,9 +17041,6 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
1714917041
case X86::BI__builtin_ia32_cmppd128_mask:
1715017042
case X86::BI__builtin_ia32_cmppd256_mask:
1715117043
case X86::BI__builtin_ia32_cmppd512_mask:
17152-
case X86::BI__builtin_ia32_vcmppd256_round_mask:
17153-
case X86::BI__builtin_ia32_vcmpps256_round_mask:
17154-
case X86::BI__builtin_ia32_vcmpph256_round_mask:
1715517044
case X86::BI__builtin_ia32_vcmpbf16512_mask:
1715617045
case X86::BI__builtin_ia32_vcmpbf16256_mask:
1715717046
case X86::BI__builtin_ia32_vcmpbf16128_mask:
@@ -17726,15 +17615,6 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
1772617615
Value *Call = Builder.CreateCall(CGM.getIntrinsic(IID), Ops);
1772717616
return EmitX86Select(*this, Ops[3], Call, Ops[0]);
1772817617
}
17729-
case X86::BI__builtin_ia32_vfcmaddcph256_round_mask:
17730-
IsConjFMA = true;
17731-
LLVM_FALLTHROUGH;
17732-
case X86::BI__builtin_ia32_vfmaddcph256_round_mask: {
17733-
Intrinsic::ID IID = IsConjFMA ? Intrinsic::x86_avx10_mask_vfcmaddcph256
17734-
: Intrinsic::x86_avx10_mask_vfmaddcph256;
17735-
Value *Call = Builder.CreateCall(CGM.getIntrinsic(IID), Ops);
17736-
return EmitX86Select(*this, Ops[3], Call, Ops[0]);
17737-
}
1773817618
case X86::BI__builtin_ia32_vfcmaddcsh_round_mask:
1773917619
IsConjFMA = true;
1774017620
[[fallthrough]];

0 commit comments

Comments
 (0)