summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-07-10 00:50:03 +0000
committerCraig Topper <craig.topper@intel.com>2018-07-10 00:50:03 +0000
commit1faf953d7513154002a1b075cc308ec7fc301cff (patch)
treef072af3bb08d93d752d3293bafd33d038d19f7fe /clang/lib/CodeGen
parent3e7406b45bf54ff47098922aa57bc3e7d544c8ac (diff)
downloadbcm5719-llvm-1faf953d7513154002a1b075cc308ec7fc301cff.tar.gz
bcm5719-llvm-1faf953d7513154002a1b075cc308ec7fc301cff.zip
[X86] Remove custom handling for __builtin_ia32_divss_round_mask and __builtin_ia32_divsd_round_mask.
llvm-svn: 336628
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r--clang/lib/CodeGen/CGBuiltin.cpp24
1 files changed, 0 insertions, 24 deletions
diff --git a/clang/lib/CodeGen/CGBuiltin.cpp b/clang/lib/CodeGen/CGBuiltin.cpp
index ba0519b3550..ad983372df4 100644
--- a/clang/lib/CodeGen/CGBuiltin.cpp
+++ b/clang/lib/CodeGen/CGBuiltin.cpp
@@ -10068,30 +10068,6 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
case X86::BI__builtin_ia32_pternlogq256_maskz:
return EmitX86Ternlog(*this, /*ZeroMask*/true, Ops);
- case X86::BI__builtin_ia32_divss_round_mask:
- case X86::BI__builtin_ia32_divsd_round_mask: {
- Intrinsic::ID ID;
- switch (BuiltinID) {
- default: llvm_unreachable("Unsupported intrinsic!");
- case X86::BI__builtin_ia32_divss_round_mask:
- ID = Intrinsic::x86_avx512_mask_div_ss_round; break;
- case X86::BI__builtin_ia32_divsd_round_mask:
- ID = Intrinsic::x86_avx512_mask_div_sd_round; break;
- }
- Function *Intr = CGM.getIntrinsic(ID);
-
- // If round parameter is not _MM_FROUND_CUR_DIRECTION, don't lower.
- if (cast<llvm::ConstantInt>(Ops[4])->getZExtValue() != (uint64_t)4)
- return Builder.CreateCall(Intr, Ops);
-
- Value *A = Builder.CreateExtractElement(Ops[0], (uint64_t)0);
- Value *B = Builder.CreateExtractElement(Ops[1], (uint64_t)0);
- Value *C = Builder.CreateExtractElement(Ops[2], (uint64_t)0);
- Value *Div = Builder.CreateFDiv(A, B);
- Div = EmitX86ScalarSelect(*this, Ops[3], Div, C);
- return Builder.CreateInsertElement(Ops[0], Div, (uint64_t)0);
- }
-
// 3DNow!
case X86::BI__builtin_ia32_pswapdsf:
case X86::BI__builtin_ia32_pswapdsi: {
OpenPOWER on IntegriCloud