https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108354
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #2) > This is a specific case of PR 91213 and the case which will also fix PR > 96921: > > /* 1 - a is a ^ 1 if a had a bool range. */ > (simplify > (minus integer_onep@0 SSA_NAME@1) > (if (INTEGRAL_TYPE_P (type) > && ssa_name_has_boolean_range (@1)) > (bit_xor @1 @0))) I might be running into an Ada build failure with this patch; I am double checking this now. It also could be a latent bug ...