[Bug c++/15795] Strange bug / incorrect code generation with SSE

ma1flfs at bath dot ac dot uk gcc-bugzilla@gcc.gnu.org
Thu Jun 3 17:08:00 GMT 2004


------- Additional Comments From ma1flfs at bath dot ac dot uk  2004-06-03 17:07 -------
How about this case then? 
Vector4 does not get allocated with new now. 
Why does this case not work? IMHO, Gcc should see: oh, I have something of type 
__m128, I better align __m128 to 16 when I create an instance of Foo... 
 
#include <xmmintrin.h> 
 
class Vector4 
{ 
public: 
	Vector4() { vec = _mm_setzero_ps();  } 
	 
	__m128 vec; 
}; 
 
class Foo 
{ 
public: 
	float a; 
	Vector4 foo; 
 
	Foo(const Vector4 &v) 
	{ 
		foo = v; 
	}	 
}; 
 
int main(int argc, char **argv) 
{ 
	Foo *foo = new Foo(Vector4()); 
} 
 

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15795



More information about the Gcc-bugs mailing list