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.

Reply via email to