On Sat, Aug 8, 2026 at 1:17 AM Alfie Richards <[email protected]> wrote: > > gcc/ChangeLog: > > * params.opt: Change param_vect_hssr_usage to initialize to 2.
I wanted to comment that I'd expect this to be tuning dependent on uarch, no? Also, do we use HSSR when we can use peeling for alignment or only when we'd otherwise not vectorize at all? > --- > gcc/params.opt | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/gcc/params.opt b/gcc/params.opt > index 3e8f83e3fb2..dc7def2275b 100644 > --- a/gcc/params.opt > +++ b/gcc/params.opt > @@ -1292,8 +1292,8 @@ Common Joined UInteger > Var(param_vect_partial_vector_usage) Init(2) IntegerRange > Controls how loop vectorizer uses partial vectors. 0 means never, 1 means > only for loops whose need to iterate can be removed, 2 means for all loops. > The default value is 2. > > -param=vect-hssr-usage= > -Common Joined UInteger Var(param_vect_hssr_usage) Init(0) IntegerRange(0, 3) > Param Optimization NoOffload > -Controls how loop vectorizer uses hardware safe speculative loads. 0 means > never, 1 means only when profitable, 2 means whenever profitable possibly as > a versioned option, 3 means whenever possible. The default value is 0. > +Common Joined UInteger Var(param_vect_hssr_usage) Init(2) IntegerRange(0, 3) > Param Optimization NoOffload > +Controls how loop vectorizer uses hardware safe speculative loads. 0 means > never, 1 means only when profitable, 2 means whenever profitable possibly as > a versioned option, 3 means whenever possible. The default value is 2. > > -param=vect-inner-loop-cost-factor= > Common Joined UInteger Var(param_vect_inner_loop_cost_factor) Init(50) > IntegerRange(1, 10000) Param Optimization NoOffload > -- > 2.43.0 >
