I tried to combine openMP with __m128d SIMD type as reduction variable in a parallel for loop - gcc crashed. Here is a minimal code sample to reproduce the error, the command line and the error.
gcc -c -o test.o -march=pentium4 -fopenmp test.c test.c: In function âtest_fnâ: test.c:8: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugs.opensuse.org> for instructions. -- %< -- test.c -- #include <emmintrin.h> void test_fn () { __m128d sum; int k; #pragma omp parallel for private (k) reduction (+:sum) for (k = 0; k < 1; ++k) { } } -- %< -- -- Summary: openMP parallel for pragma with SIMD type as reduction variable crashes gcc Product: gcc Version: 4.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: justin dot finnerty at uni-oldenburg dot de GCC build triplet: gcc version 4.2.1 (SUSE Linux) ../configure --enable- threads=pos GCC host triplet: i586-suse-linux GCC target triplet: i586-suse-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35674