https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112677

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |14.0
           Keywords|needs-bisection             |ice-on-valid-code
            Summary|ASAN reports                |[14 Regression] ASAN
                   |stack-buffer-overflow in    |reports
                   |tree-vect-loop.cc           |stack-buffer-overflow in
                   |vect_is_simple_use when     |tree-vect-loop.cc
                   |compiling with -mavx512     |vect_is_simple_use when
                   |                            |compiling with -mavx512
                 CC|                            |rdapp at gcc dot gnu.org,
                   |                            |rguenth at gcc dot gnu.org
   Last reconfirmed|                            |2023-11-23
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed.
We are processing:
  _ifc__35 = .COND_IOR (_23, mask_25, _18, mask_25);

Which has 4 operations but vectype_op is only declared for 3:
```
  tree vectype_op[3] = { NULL_TREE, NULL_TREE, NULL_TREE };
```

And it is accessed by:
```
  for (i = 0; i < (int) op.num_ops; i++)
    {
      /* The condition of COND_EXPR is checked in vectorizable_condition().  */
      if (i == 0 && op.code == COND_EXPR)
        continue;

      stmt_vec_info def_stmt_info;
      enum vect_def_type dt;
      if (!vect_is_simple_use (loop_vinfo, stmt_info, slp_for_stmt_info,
                               i + opno_adjust, &op.ops[i], &slp_op[i], &dt,
                               &vectype_op[i], &def_stmt_info))

```

We definitely should increase it to at least 4 but I am not sure if it needs to
increased more.

Reply via email to