It sounds like you're ignoring the case where gallium is not built with gcc (i.e. doesn't have __builtin_popcount available). We still need an implementation to fall back on.
On Mon, 2009-11-30 at 01:00 -0800, Keith Whitwell wrote: > Although popcount is a routine that has had huge optimization attention over > the years and yields itself to some very cool approaches, our usage of it in > Mesa is afaik never on a critical performance path. That may change one day, > eg a software rasterizer may find itself doing many popcounts per triangle > for some reason, but right now it's not on our performance path. >From that > point of view, pushing optimizations to gcc is definitely the preferred > option at this point. > > Keith > ________________________________________ > From: tom fogal [tfo...@alumni.unh.edu] > Sent: Sunday, November 29, 2009 7:12 PM > To: Matt Turner > Cc: mesa3d-dev@lists.sourceforge.net > Subject: Re: [Mesa3d-dev] minor u_math.h speedup fun > > Matt Turner <matts...@gmail.com> writes: > > On Sat, Nov 28, 2009 at 2:13 PM, Yang Zhao <y...@yangman.ca> wrote: > > > The speed-up is definitely there, but __builtin_popcount() > > > will still be drastically faster when architecture-specific > > > optimizations are enabled: > > > > I don't think this is the case (except for with SSE4's popcnt > > instruction, which your CFLAGS seem to be enabling.) > > > > Even when compiling with the Intel CC, which can undoubtedly > > can optimize code for Core 2 better than gcc, fast_bitcount is > > significantly faster. > > IMHO, the best long term solution is to use gcc's builtin, and ping > the gcc folks with the implementation and benchmark results of > fast_bitcount. If it's really better, they'll eventually adopt it on > the platforms where that makes sense. > > This would benefit a larger community, and would hopefully mean that > nobody needs to come across this again in <N> years when common CPUs > might be completely different -- Mesa would just benefit transparently > from someone in the gcc community noticing the need for a new tuning. > > -tom > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Mesa3d-dev mailing list > Mesa3d-dev@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mesa3d-dev > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Mesa3d-dev mailing list > Mesa3d-dev@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mesa3d-dev ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Mesa3d-dev mailing list Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev