On Wed, Nov 20, 2013 at 02:59:21PM +0100, Richard Biener wrote: > > --- a/gcc/c-family/c.opt > > +++ b/gcc/c-family/c.opt > > @@ -592,6 +592,10 @@ Wold-style-definition > > C ObjC Var(warn_old_style_definition) Warning > > Warn if an old-style parameter definition is used > > > > +Wopenmp-simd > > +C C++ Var(openmp_simd) Warning EnabledBy(Wall)
Please use Var(warn_openmp_simd) here. > > --- a/gcc/common.opt > > +++ b/gcc/common.opt > > @@ -2296,6 +2296,10 @@ fvect-cost-model= > > Common Joined RejectNegative Enum(vect_cost_model) > > Var(flag_vect_cost_model) Init(VECT_COST_MODEL_DEFAULT) > > Specifies the cost model for vectorization > > > > +fsimd-cost-model= > > +Common Joined RejectNegative Enum(vect_cost_model) > > Var(flag_simd_cost_model) Init(VECT_COST_MODEL_UNLIMITED) > > +Specifies the vectorization cost model for code marked with simd directive > > + > > Enum > > Name(vect_cost_model) Type(enum vect_cost_model) UnknownError(unknown > > vectorizer cost model %qs) I'd say you want to add EnumValue Enum(vect_cost_model) String(default) Value(VECT_COST_MODEL_DEFAULT) here. > > @@ -2929,6 +2929,13 @@ vect_estimate_min_profitable_iters > > (loop_vec_info loop_vinfo, > > /* vector version will never be profitable. */ > > else > > { > > + if (LOOP_VINFO_LOOP (loop_vinfo)->force_vect) > > + { > > + warning_at (LOOP_VINFO_LOC (loop_vinfo), OPT_Wopenmp_simd, > > + "Vectorization did not happen for " > > + "the loop labeled as simd."); No {} around single stmt then body. Also, diagnostic messages don't start with a capital letter and don't end with dot. So "vectorization did not happen for " "a simd loop" or so. > > /* Return true if the vect cost model is unlimited. */ > > static inline bool > > -unlimited_cost_model () > > +unlimited_cost_model (loop_p loop) > > { > > - return flag_vect_cost_model == VECT_COST_MODEL_UNLIMITED; > > + return (flag_vect_cost_model == VECT_COST_MODEL_UNLIMITED > > + || (loop != NULL > > + && loop->force_vect > > + && flag_simd_cost_model == VECT_COST_MODEL_UNLIMITED)); > > } IMNSHO this should instead do: if (loop != NULL && loop->force_vect && flag_simd_cost_model != VECT_COST_MODEL_DEFAULT) return flag_simd_cost_model == VECT_COST_MODEL_UNLIMITED; return flag_vect_cost_model == VECT_COST_MODEL_UNLIMITED; so, if user said that -fsimd-cost-model=default, then it should honor -fvect-cost-model. And, IMHO that should be the default, but I don't feel strongly about that. Jakub