On Fri, 4 Jul 2025, Richard Sandiford wrote: > Richard Biener <rguent...@suse.de> writes: > > @@ -1738,8 +1738,13 @@ protected: > > unsigned int m_suggested_unroll_factor; > > > > /* The suggested mode to be used for a vectorized epilogue or VOIDmode, > > - determined at finish_cost. */ > > + determined at finish_cost. m_masked_epilogue is epilogue should use > > + masked vectorization, regardless of the --param > > vect-partial-vector-usage > > Does this mean "m_masked_epilogue is 1 if the epilogue should use..."?
m_masked_epilogue specifies whether the epilogue should use... sorry for the bad english, fixed as indicated. > Is 0 valid, and if so, does it override the --param? Or is the override > only in one direction (to 1)? Yes, 0 is valid and overrides the --param. Richard. > > Otherwise LGTM too FWIW. > > Thanks, > Richard > > > + default. If -1 then the --param setting takes precedence. If the > > + user explicitly specified --param vect-partial-vector-usage then that > > + takes precedence. */ > > machine_mode m_suggested_epilogue_mode; > > + int m_masked_epilogue; > > > > /* True if finish_cost has been called. */ > > bool m_finished; > > @@ -1755,6 +1760,7 @@ vector_costs::vector_costs (vec_info *vinfo, bool > > costing_for_scalar) > > m_costs (), > > m_suggested_unroll_factor(1), > > m_suggested_epilogue_mode(VOIDmode), > > + m_masked_epilogue (-1), > > m_finished (false) > > { > > } > > @@ -1815,9 +1821,10 @@ vector_costs::suggested_unroll_factor () const > > /* Return the suggested epilogue mode. */ > > > > inline machine_mode > > -vector_costs::suggested_epilogue_mode () const > > +vector_costs::suggested_epilogue_mode (int &masked_p) const > > { > > gcc_checking_assert (m_finished); > > + masked_p = m_masked_epilogue; > > return m_suggested_epilogue_mode; > > } > -- Richard Biener <rguent...@suse.de> SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)