https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61121
--- Comment #8 from Jim Michaels <jmichae3 at yahoo dot com> --- in the mingw-w64 gcc compiler at least, -ftree-parallize-loops=12 -O2 runs single-threaded. https://gcc.gnu.org/ml/gcc-help/2007-01/msg00165.html I probably don't understand the compiler, but I have been trying with -static and without, using -Wall -Wextra -v -save-temps -ftree-parallelize-loops=12 -O2 -std=c++11 I have also tried 0 on that number with same results. I always get single-threaded programs, and my stuff contains a lot of vectors and loops. I have also tried with -floop-parallelize-all -ftree-slp-vectorize additionally with same results. it's like that -ftree-parallize-loops is being ignored by the compiler. I did what everybody said and used the posix/pthreads version. this has not helped. auto-threading seems broken in 4.9.0 v3rev2.