summaryrefslogtreecommitdiff
path: root/gcc/longlong.h
diff options
context:
space:
mode:
authorpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>2008-06-12 17:29:47 +0000
committerpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>2008-06-12 17:29:47 +0000
commitee16bf96c031e576fc276684017f70ff53196f16 (patch)
treec52d53e9558cca6d8b8c3880662f0c8b089d6883 /gcc/longlong.h
parent607465f2daed15963ecaae09eb5691d3609ffcd7 (diff)
downloadgcc-ee16bf96c031e576fc276684017f70ff53196f16.tar.gz
2008-06-12 Paul Brook <paul@codesourcery.com>
gcc/ * longlong.h (__arm__): Define count_leading_zeros. * config/arm/lib1funcs.asm (xxh, xxl, yyh, yyl): Define. (clzsi2, clzdi2): New functions. * config/arm/bpabi-v6m.S (xxh, xxl, yyh, yyl): Remove. * config/arm/bpabi.S (xxh, xxl, yyh, yyl): Remove. * config/arm/t-strongarm-elf (LIB1ASMFUNCS): Ditto. * config/arm/t-vxworks (LIB1ASMFUNCS): Ditto. * config/arm/t-pe (LIB1ASMFUNCS): Ditto. * config/arm/t-arm-elf (LIB1ASMFUNCS): Ditto. * config/arm/t-arm-coff (LIB1ASMFUNCS): Ditto. * config/arm/t-linux (LIB1ASMFUNCS): Ditto. * config/arm/t-symbian (LIB1ASMFUNCS): Ditto. * config/arm/t-wince-pe (LIB1ASMFUNCS): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136718 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/longlong.h')
-rw-r--r--gcc/longlong.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/longlong.h b/gcc/longlong.h
index 38b4c6fb221..45a95c40eb5 100644
--- a/gcc/longlong.h
+++ b/gcc/longlong.h
@@ -226,6 +226,12 @@ UDItype __umulsidi3 (USItype, USItype);
#define UDIV_TIME 100
#endif /* __arm__ */
+#if defined(__arm__)
+/* Let gcc decide how best to implement count_leading_zeros. */
+#define count_leading_zeros(COUNT,X) ((COUNT) = __builtin_clz (X))
+#define COUNT_LEADING_ZEROS_0 32
+#endif
+
#if defined (__CRIS__) && __CRIS_arch_version >= 3
#define count_leading_zeros(COUNT, X) ((COUNT) = __builtin_clz (X))
#if __CRIS_arch_version >= 8