intrinsic SSE

Hello,

we are trying to compile C code with intrinsic SSE calls using xmmintrin.h and <emmintrin.h>. We have found that pgcc generates SSE code, but we are not sure it the compiler can understand intrinisic calls. Here is the error:


carlos@marbore:~$ pgcc -o hola rb1itf_enrique.c -fastsse
PGC-F-0249-#error – “SSE instruction set not enabled” (/usr/lib/gcc/x86_64-linux-gnu/4.0.3/include/xmmintrin.h: 34)
PGC/x86-64 Linux/x86-64 6.1-2: compilation aborted



and with -D__SSE__ and -D__MMX__ :


carlos@marbore:~$ pgcc -o hola rb1itf_enrique.c -fastsse -D__SSE__ -D__MMX__
PGC-S-0155-nonaggregate type specified in constructor expression (/usr/lib/gcc/x86_64-linux-gnu/4.0.3/include/xmmintrin.h: 93)
PGC-S-0073-Too many initializers for .I0000 (/usr/lib/gcc/x86_64-linux-gnu/4.0.3/include/xmmintrin.h: 93)
PGC-S-0155-nonaggregate type specified in constructor expression (/usr/lib/gcc/x86_64-linux-gnu/4.0.3/include/xmmintrin.h: 835)
PGC-S-0073-Too many initializers for .I0000 (/usr/lib/gcc/x86_64-linux-gnu/4.0.3/include/xmmintrin.h: 835)
PGC-S-0155-nonaggregate type specified in constructor expression (/usr/lib/gcc/x86_64-linux-gnu/4.0.3/include/xmmintrin.h: 842)
PGC-S-0073-Too many initializers for .I0000 (/usr/lib/gcc/x86_64-linux-gnu/4.0.3/include/xmmintrin.h: 842)
PGC-S-0155-nonaggregate type specified in constructor expression (/usr/lib/gcc/x86_64-linux-gnu/4.0.3/include/xmmintrin.h: 897)
PGC-S-0073-Too many initializers for .I0000 (/usr/lib/gcc/x86_64-linux-gnu/4.0.3/include/xmmintrin.h: 897)
PGC-S-0155-nonaggregate type specified in constructor expression (/usr/lib/gcc/x86_64-linux-gnu/4.0.3/include/xmmintrin.h: 904)
PGC-S-0073-Too many initializers for .I0000 (/usr/lib/gcc/x86_64-linux-gnu/4.0.3/include/xmmintrin.h: 904)
PGC-S-0040-Illegal use of symbol, __m128i (rb1itf_enrique.c: 544)
PGC-W-0095-Type cast required for this conversion (rb1itf_enrique.c: 594)
PGC-W-0095-Type cast required for this conversion (rb1itf_enrique.c: 596)
PGC-W-0095-Type cast required for this conversion (rb1itf_enrique.c: 604)
PGC-W-0095-Type cast required for this conversion (rb1itf_enrique.c: 606)
PGC-W-0095-Type cast required for this conversion (rb1itf_enrique.c: 614)
PGC-W-0095-Type cast required for this conversion (rb1itf_enrique.c: 616)
PGC-W-0095-Type cast required for this conversion (rb1itf_enrique.c: 627)
PGC-W-0095-Type cast required for this conversion (rb1itf_enrique.c: 629)
PGC-W-0095-Type cast required for this conversion (rb1itf_enrique.c: 638)
PGC-W-0095-Type cast required for this conversion (rb1itf_enrique.c: 640)
PGC/x86-64 Linux/x86-64 6.1-2: compilation completed with severe errors

sorry, but i cannot send you original code. However, gcc compiled it right.

Thanks in advance

Enrique

Hi Enrique,

pgcc doesn’t support SSE intrinsics yet. However, we do recognize their importance and are working towards adding them. For now, unless you want to use extended asm, you’ll need to use gcc.

Thanks,
Mat