http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58472
--- Comment #2 from vincenzo Innocente <vincenzo.innocente at cern dot ch> --- yes cat omp4red.cc float a[1024]; float b[1024]; float sumO1() { float s = 0.f; #pragma omp simd reduction(+:s) for (int i=0;i<1024;++i) { s += a[i]*b[i]; } return s; } pb-d-128-141-131-26:vectorize innocent$ c++ -O2 -ftree-vectorizer-verbose=1 -S omp4red.cc -fopenmp omp4red.cc:8:13: note: loop vectorized omp4red.cc: In function ‘float sumO1()’: omp4red.cc:4:7: internal compiler error: in vectorizable_store, at tree-vect-stmts.c:4192 float sumO1() { ^ omp4red.cc:4:7: internal compiler error: Abort trap: 6 c++: internal compiler error: Abort trap: 6 (program cc1plus) Abort trap: 6 pb-d-128-141-131-26:vectorize innocent$ c++ -v Using built-in specs. COLLECT_GCC=c++ COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-apple-darwin12.4.0/4.9.0/lto-wrapper Target: x86_64-apple-darwin12.4.0 Configured with: ./configure --disable-multilib --disable-bootstrap --enable-lto -disable-libitm --enable-languages=c,c++,fortran,lto --disable-libsanitizer Thread model: posix gcc version 4.9.0 20130918 (experimental) (GCC) I will try on linux (should make no difference)