aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm-project/llvm/lib/Support/FloatingPointMode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm-project/llvm/lib/Support/FloatingPointMode.cpp')
-rw-r--r--contrib/llvm-project/llvm/lib/Support/FloatingPointMode.cpp15
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.