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

--- Comment #2 from Drea Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Kael Franco from comment #1)
> Is it appropriate to have meta bug about missed optimization in match.pd due
> to TYPE_UNSIGNED being checked rather than checking nonnegative of capture?

I don't think we need one in this case, I just finished my audit of match.pd
even for these cases. Since all of them are easy hacks; they are all easy to be
found.

> My patches in Bug 125641 and 125707 could be adjusted if needed?

PR 125641 uses TYPE_UNSIGNED to signify if the right shift is logical shift
(non-sign extending) or arithmetic shift (copying the sign bit) so that does
not need to be changed. And we need the sign bit to be copied.
for non-negative case `a>>signbit ` will be known to be 0 so it should already
be simplified into just `a` :).

PR 125707 has the same effect there.

Reply via email to