https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117360
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 59737 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=59737&action=edit gcc15-pr117360.patch So here is a patch I'm proposing (but I haven't actually reproduced the error, so this is just a blind shot). And the actual only real fix rather than cleanups is --- gcc/ext-dce.cc.jj 2024-11-18 09:05:00.264282397 +0100 +++ gcc/ext-dce.cc 2024-11-28 16:39:08.850513159 +0100 @@ -570,7 +570,7 @@ carry_backpropagate (unsigned HOST_WIDE_ sign bit is on in MASK. */ mode = GET_MODE (XEXP (x, 0)); if (mask & ~GET_MODE_MASK (GET_MODE_INNER (mode))) - mask |= 1ULL << (GET_MODE_BITSIZE (mode).to_constant () - 1); + mask |= 1ULL << (GET_MODE_BITSIZE (GET_MODE_INNER (mode)).to_constant () - 1); /* Recurse into the operand. */ return carry_backpropagate (mask, GET_CODE (XEXP (x, 0)), XEXP (x, 0));