https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119030
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Looks like a pasto to me:
--- gcc/gimple-fold.cc.jj 2025-02-24 00:06:26.018729158 +0100
+++ gcc/gimple-fold.cc 2025-02-27 16:27:28.843075160 +0100
@@ -8313,7 +8313,7 @@ fold_truth_andor_for_ifcombine (enum tre
if (rsignbit)
{
wide_int sign = wi::mask (rl_bitsize - 1, true, rl_bitsize);
- if (rsignbit > rl_bitsize && ll_unsignedp)
+ if (rsignbit > rl_bitsize && rl_unsignedp)
sign <<= 1;
if (!rl_and_mask.get_precision ())
rl_and_mask = sign;
fixes that.