Контейнеры SSE и C ++

Есть ли очевидная причина, по которой следующий код выходит из строя?

#include <vector>
#include <emmintrin.h>

struct point {
    __m128i v;

  point() {
    v = _mm_setr_epi32(0, 0, 0, 0);
  }
};

int main(int argc, char *argv[])
{
  std::vector<point> a(3);
}

Спасибо

Изменить: я использую g ++ 4.5.0 на linux / i686, я могу не знать, что я здесь делаю , но поскольку даже следующие segfaults

int main(int argc, char *argv[])
{
  point *p = new point();
}

, я действительно думаю, что это проблема выравнивания.

10
задан andreabedini 17 December 2012 в 22:12
поделиться