On Aug 31, 2015 7:35 AM, "Brian Paul" <bri...@vmware.com> wrote: > > 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.
Seems like as good a reason as any any to keep it as-is. Reviewed-by: Jason Ekstrand <jason.ekstr...@intel.com> > -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