aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/CodeGen/ISDOpcodes.h
diff options
context:
space:
mode:
authorHal Finkel <hfinkel@anl.gov>2013-08-07 22:49:12 +0000
committerHal Finkel <hfinkel@anl.gov>2013-08-07 22:49:12 +0000
commit41418d17cced656f91038b2482bc9d173b4974b0 (patch)
treead9f68077baafc782e15513f310a8377e55c817a /include/llvm/CodeGen/ISDOpcodes.h
parent6fa33f5dd945015d79be42c5cff146e4e2b7c4f3 (diff)
downloadexternal_llvm-41418d17cced656f91038b2482bc9d173b4974b0.zip
external_llvm-41418d17cced656f91038b2482bc9d173b4974b0.tar.gz
external_llvm-41418d17cced656f91038b2482bc9d173b4974b0.tar.bz2
Add ISD::FROUND for libm round()
All libm floating-point rounding functions, except for round(), had their own ISD nodes. Recent PowerPC cores have an instruction for round(), and so here I'm adding ISD::FROUND so that round() can be custom lowered as well. For the most part, this is straightforward. I've added an intrinsic and a matching ISD node just like those for nearbyint() and friends. The SelectionDAG pattern I've named frnd (because ISD::FP_ROUND has already claimed fround). This will be used by the PowerPC backend in a follow-up commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187926 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/ISDOpcodes.h')
-rw-r--r--include/llvm/CodeGen/ISDOpcodes.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/llvm/CodeGen/ISDOpcodes.h b/include/llvm/CodeGen/ISDOpcodes.h
index 9466b90..45bb7e3 100644
--- a/include/llvm/CodeGen/ISDOpcodes.h
+++ b/include/llvm/CodeGen/ISDOpcodes.h
@@ -440,11 +440,11 @@ namespace ISD {
/// FNEG, FABS, FSQRT, FSIN, FCOS, FPOWI, FPOW,
/// FLOG, FLOG2, FLOG10, FEXP, FEXP2,
- /// FCEIL, FTRUNC, FRINT, FNEARBYINT, FFLOOR - Perform various unary
+ /// FCEIL, FTRUNC, FRINT, FNEARBYINT, FROUND, FFLOOR - Perform various unary
/// floating point operations. These are inspired by libm.
FNEG, FABS, FSQRT, FSIN, FCOS, FPOWI, FPOW,
FLOG, FLOG2, FLOG10, FEXP, FEXP2,
- FCEIL, FTRUNC, FRINT, FNEARBYINT, FFLOOR,
+ FCEIL, FTRUNC, FRINT, FNEARBYINT, FROUND, FFLOOR,
/// FSINCOS - Compute both fsin and fcos as a single operation.
FSINCOS,