A compilação falha com o OpenMP no Mac OS X Lion (intrínsecos memcpy e SSE)

Eu tropecei no seguinte problema. O trecho de código abaixo não vincula no Mac OS X com qualquer Xcode que eu tentei (4.4, 4.5)

#include <stdlib.h>
#include <string.h>
#include <emmintrin.h>

int main(int argc, char *argv[])
{
  char *temp;
#pragma omp parallel
  {
    __m128d v_a, v_ar;
    memcpy(temp, argv[0], 10);
    v_ar = _mm_shuffle_pd(v_a, v_a, _MM_SHUFFLE2 (0,1));
  }
}

O código é apenas fornecido como um exemplo e seria segmentado quando você o executa. O ponto é que não compila. A compilação é feita usando a seguinte linha

/Applications/Xcode.app/Contents/Developer/usr/bin/gcc test.c -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk -mmacosx-version-min=10.7 -fopenmp

 Undefined symbols for architecture x86_64:
"___builtin_ia32_shufpd", referenced from:
    _main.omp_fn.0 in ccJM7RAw.o
"___builtin_object_size", referenced from:
    _main.omp_fn.0 in ccJM7RAw.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status

O código compila muito bem quandonão usando o-fopenmp bandeira paragcc. Agora, eu pesquisei e encontrei uma solução para o primeiro problema relacionadomemcpy, que está adicionando-fno-builtinou-D_FORTIFY_SOURCE=0 paragcc lista de argumentos. Eu não consegui resolver o segundo problema (sse intrínseco).

Alguém pode me ajudar a resolver isso? As questões:

mais importante: como se livrar do erro "___builtin_ia32_shufpd"?o que exatamente é a razão para omemcpy problema, e o que o-D_FORTIFY_SOURCE=0 bandeira eventualmente faz?

questionAnswers(1)

yourAnswerToTheQuestion