diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/Support/FloatingPointMode.cpp')
| -rw-r--r-- | contrib/llvm-project/llvm/lib/Support/FloatingPointMode.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/contrib/llvm-project/llvm/lib/Support/FloatingPointMode.cpp b/contrib/llvm-project/llvm/lib/Support/FloatingPointMode.cpp index 9543884ff46e..5a2836eb8243 100644 --- a/contrib/llvm-project/llvm/lib/Support/FloatingPointMode.cpp +++ b/contrib/llvm-project/llvm/lib/Support/FloatingPointMode.cpp @@ -32,7 +32,7 @@ FPClassTest llvm::fneg(FPClassTest Mask) { return NewMask; } -FPClassTest llvm::fabs(FPClassTest Mask) { +FPClassTest llvm::inverse_fabs(FPClassTest Mask) { FPClassTest NewMask = Mask & fcNan; if (Mask & fcPosZero) NewMask |= fcZero; @@ -45,6 +45,19 @@ FPClassTest llvm::fabs(FPClassTest Mask) { return NewMask; } +FPClassTest llvm::unknown_sign(FPClassTest Mask) { + FPClassTest NewMask = Mask & fcNan; + if (Mask & fcZero) + NewMask |= fcZero; + if (Mask & fcSubnormal) + NewMask |= fcSubnormal; + if (Mask & fcNormal) + NewMask |= fcNormal; + if (Mask & fcInf) + NewMask |= fcInf; + return NewMask; +} + // Every bitfield has a unique name and one or more aliasing names that cover // multiple bits. Names should be listed in order of preference, with higher // popcounts listed first. |
