aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/TargetInfo.cpp
diff options
context:
space:
mode:
authorJonas Paulsson <paulsson@linux.vnet.ibm.com>2021-03-04 02:52:05 +0100
committerJonas Paulsson <paulsson@linux.vnet.ibm.com>2021-03-15 15:02:39 -0600
commit9cfd301ec8b5ed6eb49bcc4b85e6f2af1a90b305 (patch)
tree73e7618adf9553956cf409e08dbeae172905d637 /clang/lib/CodeGen/TargetInfo.cpp
parentefbaf4030b50f1350ef19742de6a1d1704a2a6e0 (diff)
downloadllvm-9cfd301ec8b5ed6eb49bcc4b85e6f2af1a90b305.zip
llvm-9cfd301ec8b5ed6eb49bcc4b85e6f2af1a90b305.tar.gz
llvm-9cfd301ec8b5ed6eb49bcc4b85e6f2af1a90b305.tar.bz2
[SystemZ] Test for isinf and isfinite in testFPKind().
Recognize BI__builtin_isinf and BI__builtin_isfinite (and a few other opcodes for finite) in testFPKind() and handle with TDC. Review: Ulrich Weigand. Differential Revision: https://reviews.llvm.org/D97901
Diffstat (limited to 'clang/lib/CodeGen/TargetInfo.cpp')
-rw-r--r--clang/lib/CodeGen/TargetInfo.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/TargetInfo.cpp b/clang/lib/CodeGen/TargetInfo.cpp
index 4f5b928..c3df36f 100644
--- a/clang/lib/CodeGen/TargetInfo.cpp
+++ b/clang/lib/CodeGen/TargetInfo.cpp
@@ -7218,6 +7218,18 @@ public:
case Builtin::BI__builtin_isnan:
TDCBits = 0xf;
break;
+ case Builtin::BIfinite:
+ case Builtin::BI__finite:
+ case Builtin::BIfinitef:
+ case Builtin::BI__finitef:
+ case Builtin::BIfinitel:
+ case Builtin::BI__finitel:
+ case Builtin::BI__builtin_isfinite:
+ TDCBits = 0xfc0;
+ break;
+ case Builtin::BI__builtin_isinf:
+ TDCBits = 0x30;
+ break;
default:
break;
}