diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2014-10-21 23:00:20 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2014-10-21 23:00:20 +0000 |
commit | d6511b49ace8e3d55ad43beb2cb142022a8032cc (patch) | |
tree | ec95b0252ce02c2c5f0445bdbdb53d0081bd9f4c /llvm/lib/Analysis/TargetTransformInfo.cpp | |
parent | 44e5b4e533a92ff44ae57cf0129398b162e82bf6 (diff) | |
download | llvm-d6511b49ace8e3d55ad43beb2cb142022a8032cc.zip llvm-d6511b49ace8e3d55ad43beb2cb142022a8032cc.tar.gz llvm-d6511b49ace8e3d55ad43beb2cb142022a8032cc.tar.bz2 |
Add minnum / maxnum intrinsics
These are named following the IEEE-754 names for these
functions, rather than the libm fmin / fmax to avoid
possible ambiguities. Some languages may implement something
resembling fmin / fmax which return NaN if either operand is
to propagate errors. These implement the IEEE-754 semantics
of returning the other operand if either is a NaN representing
missing data.
llvm-svn: 220341
Diffstat (limited to 'llvm/lib/Analysis/TargetTransformInfo.cpp')
-rw-r--r-- | llvm/lib/Analysis/TargetTransformInfo.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/TargetTransformInfo.cpp b/llvm/lib/Analysis/TargetTransformInfo.cpp index e09babf..c1ffb9d 100644 --- a/llvm/lib/Analysis/TargetTransformInfo.cpp +++ b/llvm/lib/Analysis/TargetTransformInfo.cpp @@ -475,6 +475,8 @@ struct NoTTI final : ImmutablePass, TargetTransformInfo { // These will all likely lower to a single selection DAG node. if (Name == "copysign" || Name == "copysignf" || Name == "copysignl" || Name == "fabs" || Name == "fabsf" || Name == "fabsl" || Name == "sin" || + Name == "fmin" || Name == "fminf" || Name == "fminl" || + Name == "fmax" || Name == "fmaxf" || Name == "fmaxl" || Name == "sinf" || Name == "sinl" || Name == "cos" || Name == "cosf" || Name == "cosl" || Name == "sqrt" || Name == "sqrtf" || Name == "sqrtl") return false; |