https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108354
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
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)))
