------- Comment #3 from pinskia at gcc dot gnu dot org 2010-02-19 18:39 ------- (In reply to comment #2) > I'm assuming you are referring to <fvec.h> and F32vec4. While I will apply > this > workaround (one of many many workarounds to get fancy C++ code to work with > g++) it still doesn't solve the underlying problem, and affects portability > performance-wise, something lethal for HPC code.
What I was trying to say is that __m128 is defined as: typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__)); Which means there is already an operator+ defined which is done using the generic GNU vector support. If you remove your definition of operator+, it works without it. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Component|c++ |target GCC target triplet| |i?86-*-* x86_64-*-* Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43122