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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2022-08-31
           Keywords|                            |needs-bisection
             Status|UNCONFIRMED                 |NEW
            Summary|Regression in cmp+sbb       |[12/13 Regression]
                   |                            |Regression in cmp+sbb
   Target Milestone|---                         |12.3
     Ever confirmed|0                           |1

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The difference for esra IR is:
Working (11):
  z.value = SR.6_6;
  MEM <unsigned char> [(struct R *)&z + 8B] = SR.7_7;
  z$8_32 = SR.7_7;
  _1 = VIEW_CONVERT_EXPR<bool>(z$8_32);

Not working (12):
  z.value = SR.5_6;
  MEM <unsigned char> [(struct R *)&z + 8B] = SR.6_7;
  _1 = z.carry;

The IR is the similar (the only difference is the decl #) before esra:

  D.2444.carry = _19;
  d ={v} {CLOBBER(eol)};
  z = D.2444;
  _1 = z.carry;
  _2 = (int) _1;
  _12 = (int) _1;

Reply via email to