diff options
author | Xavier Leroy <xavier.leroy@inria.fr> | 2015-12-22 11:06:35 +0100 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@inria.fr> | 2015-12-22 11:06:35 +0100 |
commit | f531d386db7051761bd31f2740a893ff97ce65aa (patch) | |
tree | 0e0d535d0e36927500441de21ac727dc1677ac4b /arm/CBuiltins.ml | |
parent | 12b5eaf144285de569be7123913ee78f17dd9b03 (diff) | |
download | compcert-kvx-f531d386db7051761bd31f2740a893ff97ce65aa.tar.gz compcert-kvx-f531d386db7051761bd31f2740a893ff97ce65aa.zip |
Add CLZ builtins for ARM and IA32
ARM: add __builtin_clzl, __builtin_clzll
IA32: add __builtin_clzl, __builtin_clzll,
__builtin_ctzl, __builtin_ctzll
Add corresponding tests in tests/regression/
Diffstat (limited to 'arm/CBuiltins.ml')
-rw-r--r-- | arm/CBuiltins.ml | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arm/CBuiltins.ml b/arm/CBuiltins.ml index 6751074c..1b06b93b 100644 --- a/arm/CBuiltins.ml +++ b/arm/CBuiltins.ml @@ -31,6 +31,10 @@ let builtins = { (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); (* Float arithmetic *) "__builtin_fsqrt", (TFloat(FDouble, []), [TFloat(FDouble, [])], false); |