On Sun, Jun 16, 2024 at 9:22 AM Feng Xue OS <f...@os.amperecomputing.com> wrote: > > In vectorizable_reduction, one check on a reduction operand via index could be > contained by another one check via pointer, so remove the former.
OK. Thanks, Richard. > Thanks, > Feng > > --- > gcc/ > * tree-vect-loop.cc (vectorizable_reduction): Remove the duplicated > check. > --- > gcc/tree-vect-loop.cc | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc > index d9a2ad69484..6e8b3639daf 100644 > --- a/gcc/tree-vect-loop.cc > +++ b/gcc/tree-vect-loop.cc > @@ -7815,11 +7815,9 @@ vectorizable_reduction (loop_vec_info loop_vinfo, > "use not simple.\n"); > return false; > } > - if (i == STMT_VINFO_REDUC_IDX (stmt_info)) > - continue; > > - /* For an IFN_COND_OP we might hit the reduction definition operand > - twice (once as definition, once as else). */ > + /* Skip reduction operands, and for an IFN_COND_OP we might hit the > + reduction operand twice (once as definition, once as else). */ > if (op.ops[i] == op.ops[STMT_VINFO_REDUC_IDX (stmt_info)]) > continue; > > -- > 2.17.1