https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109829
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |enhancement
Last reconfirmed| |2023-05-12
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
>From phiopt1:
phiopt match-simplify trying:
_1 != 0 ? iftmp.0_5 : x_3(D)
Where _1 is defined as:
_1 = signbitD.1026 (x_3(D));
and iftmp.0_5 is defined as:
iftmp.0_5 = -x_3(D);
This should fix it then:
(simplify
(cond (ne (SIGNBIT @0) zero_p@1) (neg @0) @0)
(abs @0))