On Wed, Mar 9, 2022 at 5:06 AM Xi Ruoyao via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: > > This should be obvious, OK for trunk?
OK. > -- >8 -- > > Calling VECTOR_MODE_P with MAX_MACHINE_MODE has caused out-of-bound > access. > > gcc/ > > PR tree-optimization/104851 > * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one > error. > --- > gcc/optabs-query.cc | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/gcc/optabs-query.cc b/gcc/optabs-query.cc > index 713c098ba4e..68dc679cc6a 100644 > --- a/gcc/optabs-query.cc > +++ b/gcc/optabs-query.cc > @@ -720,7 +720,7 @@ static bool > supports_vec_convert_optab_p (optab op, machine_mode mode) > { > int start = mode == VOIDmode ? 0 : mode; > - int end = mode == VOIDmode ? MAX_MACHINE_MODE : mode; > + int end = mode == VOIDmode ? MAX_MACHINE_MODE - 1 : mode; > for (int i = start; i <= end; ++i) > if (VECTOR_MODE_P ((machine_mode) i)) > for (int j = MIN_MODE_VECTOR_INT; j < MAX_MODE_VECTOR_INT; ++j) > -- > 2.35.1 > >