aboutsummaryrefslogtreecommitdiffstats
path: root/cfrontend
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@college-de-france.fr>2020-07-25 17:47:25 +0200
committerXavier Leroy <xavierleroy@users.noreply.github.com>2020-07-27 16:30:28 +0200
commitbc20d7c0d16d07790fb6eb608bf608237b0abbc3 (patch)
treeecd53e2409e1762cd946a6ebb608b4c6aa30ef73 /cfrontend
parenta56e0c65b08f0f7123630f3a1b415e67ef48c38e (diff)
downloadcompcert-kvx-bc20d7c0d16d07790fb6eb608bf608237b0abbc3.tar.gz
compcert-kvx-bc20d7c0d16d07790fb6eb608bf608237b0abbc3.zip
Move declarations of __builtin_clz* and __builtin_ctz* to C2C.ml
These functions are now available on all targets.
Diffstat (limited to 'cfrontend')
-rw-r--r--cfrontend/C2C.ml12
1 files changed, 12 insertions, 0 deletions
diff --git a/cfrontend/C2C.ml b/cfrontend/C2C.ml
index 75eeaf21..c7cd4937 100644
--- a/cfrontend/C2C.ml
+++ b/cfrontend/C2C.ml
@@ -180,6 +180,18 @@ let builtins_generic = {
(TInt(IUInt, []), [TInt(IUInt, [])], false);
"__builtin_bswap16",
(TInt(IUShort, []), [TInt(IUShort, [])], false);
+ "__builtin_clz",
+ (TInt(IInt, []), [TInt(IUInt, [])], false);
+ "__builtin_clzl",
+ (TInt(IInt, []), [TInt(IULong, [])], false);
+ "__builtin_clzll",
+ (TInt(IInt, []), [TInt(IULongLong, [])], false);
+ "__builtin_ctz",
+ (TInt(IInt, []), [TInt(IUInt, [])], false);
+ "__builtin_ctzl",
+ (TInt(IInt, []), [TInt(IULong, [])], false);
+ "__builtin_ctzll",
+ (TInt(IInt, []), [TInt(IULongLong, [])], false);
(* Floating-point absolute value *)
"__builtin_fabs",
(TFloat(FDouble, []), [TFloat(FDouble, [])], false);