On Aug 28, 2015 2:31 PM, "Brian Paul" <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) --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 > http://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev