From 10937b0c3a75d7f639bccbcf9917c81ae3133d98 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sat, 18 Jun 2011 15:35:10 +0000 Subject: [PATCH] Use long long builtins of zero counting for x86-64. 2011-06-18 H.J. Lu * longlong.h (count_leading_zeros): Use long long builtin for x86-64. (count_trailing_zeros): Likewise. From-SVN: r175183 --- gcc/ChangeLog | 6 ++++++ gcc/longlong.h | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 57789e3e6b5..31f23a23c12 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-06-18 H.J. Lu + + * longlong.h (count_leading_zeros): Use long long builtin for + x86-64. + (count_trailing_zeros): Likewise. + 2011-06-18 H.J. Lu PR other/49325 diff --git a/gcc/longlong.h b/gcc/longlong.h index 576247fc636..7d11e10646e 100644 --- a/gcc/longlong.h +++ b/gcc/longlong.h @@ -1,6 +1,6 @@ /* longlong.h -- definitions for mixed size 32/64 bit arithmetic. Copyright (C) 1991, 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 + 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -436,8 +436,8 @@ UDItype __umulsidi3 (USItype, USItype); : "0" ((UDItype) (n0)), \ "1" ((UDItype) (n1)), \ "rm" ((UDItype) (dv))) -#define count_leading_zeros(count, x) ((count) = __builtin_clzl (x)) -#define count_trailing_zeros(count, x) ((count) = __builtin_ctzl (x)) +#define count_leading_zeros(count, x) ((count) = __builtin_clzll (x)) +#define count_trailing_zeros(count, x) ((count) = __builtin_ctzll (x)) #define UMUL_TIME 40 #define UDIV_TIME 40 #endif /* x86_64 */ -- 2.30.2