Hi! On Thu, Oct 15, 2020 at 09:59:24AM +0100, Alex Coplan wrote: > This patch remedies this situation: after the patch, make_extraction() > now also identifies RTXs such as: > > (mult:DI (subreg:DI (reg:SI r)) (const_int 2^n)) > > and rewrites this as: > > (mult:DI (sign_extend:DI (reg:SI r)) (const_int 2^n)) > > instead of using a sign_extract.
Do we do that in simplify-rtx already (w/ the proper SUBREG_PROMOTED_* stuff set)? If not, we should; if so, why does that not work here? (Just the subreg->{sign,zero}_extend that is, nothing with the mult.) Segher