[Bug tree-optimization/106114] [13 Regression] wrong code at -O1, -O2 and -O3 on x86_64-linux-gnu since r13-1268-g8c99e307b20c502e

mpolacek at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jun 28 12:56:05 GMT 2022


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

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mpolacek at gcc dot gnu.org

--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Another test (-O2):

int printf(const char *, ...);
int a, b = 1041281974;
unsigned short c;
int main()
{
  int d, e = b;
  b = ~-~a;
  a = c = -~b;
  if (c < 65529) {
    printf("%d\n", d);
    e = 0;
  }
  if (b)
    d = a;
  if (((e > 1041281974) && d) || e < 1041281974)
    printf("%d\n", c);
  return 0;
}


More information about the Gcc-bugs mailing list