http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60534
Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P2 Status|UNCONFIRMED |NEW Last reconfirmed| |2014-03-17 CC| |mpolacek at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> --- Confirmed. expand_omp_simd has for this case: 6837 /* If not -fno-tree-loop-vectorize, hint that we want to vectorize 6838 the loop. */ 6839 if ((flag_tree_loop_vectorize 6840 || (!global_options_set.x_flag_tree_loop_vectorize 6841 && !global_options_set.x_flag_tree_vectorize)) 6842 && loop->safelen > 1) 6843 { 6844 loop->force_vect = true; 6845 cfun->has_force_vect_loops = true; 6846 } but gate_tree_loop_vectorize isn't called at all, because gate_tree_loop returns false. So maybe: --- gcc/tree-ssa-loop.c +++ gcc/tree-ssa-loop.c @@ -47,7 +47,7 @@ along with GCC; see the file COPYING3. If not see static bool gate_tree_loop (void) { - return flag_tree_loop_optimize != 0; + return flag_tree_loop_optimize != 0 || cfun->has_force_vect_loops; } namespace {