aboutsummaryrefslogtreecommitdiff
path: root/include/clang
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-12-02 01:20:23 +0000
committerChris Lattner <sabre@nondot.org>2007-12-02 01:20:23 +0000
commitbbb75f63001af0d9b62995d3a5d62f7469bd74d3 (patch)
tree44777858be5ca754131cf9b013c152b739270376 /include/clang
parent26de4655a38b899e0f0dcef4175032175854d1cf (diff)
register clz and ctz builtins.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44500 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang')
-rw-r--r--include/clang/AST/Builtins.def14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/clang/AST/Builtins.def b/include/clang/AST/Builtins.def
index f2f182401e..34ec03201d 100644
--- a/include/clang/AST/Builtins.def
+++ b/include/clang/AST/Builtins.def
@@ -53,6 +53,7 @@
// c -> const
// F -> this is a libc/libm function with a '__builtin_' prefix added.
+// Standard libc/libm functions:
BUILTIN(__builtin_inf , "d" , "ncF")
BUILTIN(__builtin_inff , "f" , "ncF")
BUILTIN(__builtin_infl , "Ld" , "ncF")
@@ -60,6 +61,19 @@ BUILTIN(__builtin_abs , "ii" , "ncF")
BUILTIN(__builtin_fabs , "dd" , "ncF")
BUILTIN(__builtin_fabsf, "ff" , "ncF")
BUILTIN(__builtin_fabsl, "LdLd", "ncF")
+
+// Builtins for arithmetic.
+BUILTIN(__builtin_clz , "iUi" , "nc")
+BUILTIN(__builtin_clzl , "iULi" , "nc")
+BUILTIN(__builtin_clzll, "iULLi", "nc")
+// fixme: int clzimax(uintmax_t)
+BUILTIN(__builtin_ctz , "iUi" , "nc")
+BUILTIN(__builtin_ctzl , "iULi" , "nc")
+BUILTIN(__builtin_ctzll, "iULLi", "nc")
+// fixme: int ctzimax(uintmax_t)
+
+
+// Random GCC builtins
BUILTIN(__builtin_constant_p, "UsUs", "nc")
BUILTIN(__builtin_classify_type, "i.", "nc")
BUILTIN(__builtin___CFStringMakeConstantString, "FC*cC*", "nc")