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 ...