diff options
author | Sumanth Gundapaneni <sumanth.gundapaneni@amd.com> | 2024-07-24 14:34:31 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-24 23:34:31 +0400 |
commit | 0ee32c45730c94be1b7d5fa60a0e8dff5751d014 (patch) | |
tree | 98cde74aaf81a52d4807e4103603580bd025a5d3 /llvm/lib/CodeGen/TargetLoweringBase.cpp | |
parent | deb40a253a5448a7b1f8d9680a0ae512c2d17283 (diff) | |
download | llvm-0ee32c45730c94be1b7d5fa60a0e8dff5751d014.zip llvm-0ee32c45730c94be1b7d5fa60a0e8dff5751d014.tar.gz llvm-0ee32c45730c94be1b7d5fa60a0e8dff5751d014.tar.bz2 |
[AMDGPU] Implement llvm.lrint intrinsic lowering (#98931)
This patch enabled the target-independent lowering of llvm.lrint via
GlobalISel.
For SelectionDAG, the instrinsic is custom lowered for AMDGPU.
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringBase.cpp')
-rw-r--r-- | llvm/lib/CodeGen/TargetLoweringBase.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/llvm/lib/CodeGen/TargetLoweringBase.cpp b/llvm/lib/CodeGen/TargetLoweringBase.cpp index bc5fc96..6ca9955 100644 --- a/llvm/lib/CodeGen/TargetLoweringBase.cpp +++ b/llvm/lib/CodeGen/TargetLoweringBase.cpp @@ -824,15 +824,15 @@ void TargetLoweringBase::initActions() { Expand); // These library functions default to expand. - setOperationAction( - {ISD::FCBRT, ISD::FLOG, ISD::FLOG2, ISD::FLOG10, ISD::FEXP, - ISD::FEXP2, ISD::FEXP10, ISD::FFLOOR, ISD::FNEARBYINT, ISD::FCEIL, - ISD::FRINT, ISD::FTRUNC, ISD::LRINT, ISD::LLRINT, ISD::FROUNDEVEN, - ISD::FTAN, ISD::FACOS, ISD::FASIN, ISD::FATAN, ISD::FCOSH, - ISD::FSINH, ISD::FTANH}, - {MVT::f32, MVT::f64, MVT::f128}, Expand); - - setOperationAction({ISD::LROUND, ISD::LLROUND}, + setOperationAction({ISD::FCBRT, ISD::FLOG, ISD::FLOG2, ISD::FLOG10, + ISD::FEXP, ISD::FEXP2, ISD::FEXP10, ISD::FFLOOR, + ISD::FNEARBYINT, ISD::FCEIL, ISD::FRINT, ISD::FTRUNC, + ISD::FROUNDEVEN, ISD::FTAN, ISD::FACOS, ISD::FASIN, + ISD::FATAN, ISD::FCOSH, ISD::FSINH, ISD::FTANH}, + {MVT::f32, MVT::f64, MVT::f128}, Expand); + + // FIXME: Query RuntimeLibCalls to make the decision. + setOperationAction({ISD::LRINT, ISD::LLRINT, ISD::LROUND, ISD::LLROUND}, {MVT::f32, MVT::f64, MVT::f128}, LibCall); setOperationAction({ISD::FTAN, ISD::FACOS, ISD::FASIN, ISD::FATAN, ISD::FCOSH, |