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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |5.1.0
      Known to work|                            |4.9.4
   Target Milestone|---                         |12.5
             Target|                            |aarch64
            Summary|Missed optimization due to  |[12/13/14/15 Regression]
                   |cast being used more than   |Missed optimization due to
                   |once                        |cast being used more than
                   |                            |once

--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
On accident I found this a regression which can be fixed via this patch:
```

int d;
int f(int b)
{
  int e = b == 0;
  d = e;
  int l = !e;
  if (l == e)
    __builtin_abort ();
}
```

The abort used to be optimized out for aarch64 in GCC 4.9.4 but in GCC 5 could
not any more because !e is turned into `b != 0` starting in GCC 5.

So I do think I can submit it under the stage 4 rules ...

Reply via email to