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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |16.2.0
      Known to work|                            |15.3.0
            Summary|[17 Regression] ICE         |[16/17 Regression] ICE
                   |Segmentation fault in       |Segmentation fault in
                   |vect_analyze_slp_reduc_chai |vect_analyze_slp_reduc_chai
                   |n since r17-2737            |n since r17-2737
           Priority|P3                          |P2
   Target Milestone|17.0                        |16.3

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
This was also backported, thus confirmed on the branch as well.

Original scalar stmt is

patt_9 = (char) c_0_lsm.5_15;

and the original stmt is

_3 = (char) f_8;

so we get a STMT_VINFO_REDUC_CODE of NOP_EXPR from the original "reduction"

<bb 3> [local count: 402653184]:
# d_13 = PHI <d_10(7), 0(13)>
# c_0_lsm.5_15 = PHI <_3(7), c_0_lsm.5_6(13)>
# ivtmp_18 = PHI <ivtmp_11(7), 3(13)>
f_8 = (int) c_0_lsm.5_15;
_3 = (char) f_8;
d_10 = d_13 + 1;
ivtmp_11 = ivtmp_18 - 1;
if (ivtmp_11 != 0)
  goto <bb 7>; [66.67%]
else
  goto <bb 6>; [33.33%]

<bb 6> [local count: 268435456]:
# _16 = PHI <_3(3), 0(2)>
c_0 = _16;
return;

and the pattern stmt converts a char to itself.

Reply via email to