__m128 と vector なら...
__m128 a = { 0.1f, 0.2f, 0.3f, 0.4f };
std::vector< __m128 > v;
v.push_back( a );
コンパイル通ります。
でも、継承したベクトルクラスなんかを作ると...
class vec4 : public __m128 { ... };
std::vector< vec4 > v;
v.push_back( vec4( 0.1f, 0.2f, 0.3f, 0.4f ) );
コンパイルエラー。アラインが...とか言って怒られます。いつも悩まされます。