https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95078
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- TER should go away, not be extended. So you are suggesting that we replace leaq 44(%rdi,%rdx,4), %rdx --- redundant could be fwprop movl (%rdx), %eax movl $3, (%rsi) addl (%rdx), %eax with movl 44(%rdi,%rdx,4), %eax movl $3, (%rsi) addl 44(%rdi,%rdx,4), %eax ? The variant that looks bigger is actually one byte smaller. Note as soon as there are three uses it will be larger again... So this is really something for RTL and yeah, fwprop only makes "local" decisions. Note that I think that your proposed variant will consume more resources since the complex addressing modes are likely split into a separate uop. Yes, overall I'd expect less latency for your sequence.