On 08/28/2015 07:36 PM, Jason Ekstrand wrote:

On Aug 28, 2015 2:31 PM, "Brian Paul" <bri...@vmware.com
<mailto:bri...@vmware.com>> wrote:
 >
 > v2: fix errant _GNU_SOURCE test, per Matt Turner.
 > ---
 >  src/gallium/auxiliary/util/u_math.h | 20 ++++++++++++++++++++
 >  1 file changed, 20 insertions(+)
 >
 > diff --git a/src/gallium/auxiliary/util/u_math.h
b/src/gallium/auxiliary/util/u_math.h
 > index 56bd185..c551974 100644
 > --- a/src/gallium/auxiliary/util/u_math.h
 > +++ b/src/gallium/auxiliary/util/u_math.h
 > @@ -389,6 +389,26 @@ unsigned ffs( unsigned u )
 >  #define ffs __builtin_ffs
 >  #endif
 >
 > +#ifdef HAVE___BUILTIN_FFSLL
 > +#define ffsll __builtin_ffsll
 > +#else
 > +static inline int
 > +ffsll(long long int val)
 > +{
 > +   int bit;
 > +

Might be better to do

if (val & 0xffffffff)
     return ffs(val &0xffffffff);
else
     return ffs(val >> 32);

That may be a little cheaper.  I don't know if its actually better but
its one less ffs call (which may cross a library boundary)

I like that too, but I just copied the implementation from imports.c
As was suggested, we can look at consolidating this function and a few others into src/util/ later.

-Brian

--Jason

 > +   bit = ffs((unsigned) (val & 0xffffffff));
 > +   if (bit != 0)
 > +      return bit;
 > +
 > +   bit = ffs((unsigned) (val >> 32));
 > +   if (bit != 0)
 > +      return 32 + bit;
 > +
 > +   return 0;
 > +}
 > +#endif
 > +
 >  #endif /* FFS_DEFINED */
 >
 >  /**
 > --
 > 1.9.1
 >
 > _______________________________________________
 > mesa-dev mailing list
 > mesa-dev@lists.freedesktop.org <mailto:mesa-dev@lists.freedesktop.org>
 > http://lists.freedesktop.org/mailman/listinfo/mesa-dev
<https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.freedesktop.org_mailman_listinfo_mesa-2Ddev&d=BQMFaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=T0t4QG7chq2ZwJo6wilkFznRSFy-8uDKartPGbomVj8&m=u0DJgAjhxxl7RyNVZSQ37HS6W5StpIt-qUTJtm0MFVk&s=_xGcOvu0RaFHWkqySgjs5TAsOM1kiitqJg77nThabd0&e=>


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to