On Wed, 2009-12-02 at 12:46 -0800, Roland Scheidegger wrote:
> On 02.12.2009 18:33, José Fonseca wrote:
> > I've seen strict aliasing assumption causing bugs in other gallium
> > components. It seems endemic to our code.  Unless we actively decidee to
> > go and chase the strict aliasing bugs now we should add
> > -fno-strict-aliasing to all our builds.
> 
> Hmm, actually some of them (in mesa at least) seem to be really
> unnecessary. Take the COPY_4FV macro for instance. I replaced that in a
> simple test program (attached) to either just do direct assignment
> without cast, or use memcpy instead.

That comment was probably true in 1999 -- but possibly not any longer...

> The results are actually interesting, the comment says cast is done to
> avoid going through fp registers, but looking in the assembly (at least
> with optimization) that doesn't happen anyway, and the generated code is
> actually nearly identical, but in fact it not only triggers
> strict-aliasing warnings but doesn't work correctly (when compiled with
> -O3 or similar parameters invoking -fstrict-aliasing).

...

> Doesn't use 128bit sse moves but looks like an improvement... When using
> no optimization code certainly gets much less readable and the memcpy
> version will call glibc memcpy (which itself will still be optimized
> hence probably faster despite the function call).
> So I'll kill at least this one and just use _mesa_memcpy there, unless
> there are good reasons not to. I think pretty much all compilers should
> have builtin memcpy optimizations.

I didn't realize COPY_4FV and friends were related to our strict
aliasing problems -- if that's the case, let's kill or reimplement them
straight away.

Keith


------------------------------------------------------------------------------
Join us December 9, 2009 for the Red Hat Virtual Experience,
a free event focused on virtualization and cloud computing. 
Attend in-depth sessions from your desk. Your couch. Anywhere.
http://p.sf.net/sfu/redhat-sfdev2dev
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to