https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118594
--- Comment #11 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Richard Sandiford from comment #8) > But that doesn't work because force_operand considers the subreg to be valid > (and general_operand agrees). So if this isn't a regression, it might be > better to wait until GCC 16 and disallow all (subreg (mem)) for > INSN_SCHEDULING. (Or completely, if possible.) Yes it is not a regression as far as I can tell. the code started to be accepted/ICEing when the conversion code was added to expr.cc. (In reply to Jakub Jelinek from comment #10) > Can't the caller if it sees it is a MEM use adjust_address with 0 offset > instead of simplify_*subreg? force_lowpart_subreg might be able to do that and might work too. And yes both things I think are GCC 16 material at this point. I think we should disallow subreg of mem completely and should do the adjust_address change.