https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100342
--- Comment #7 from Uroš Bizjak <ubizjak at gmail dot com> --- I have traced a bit where (insn 2275) and (insn 2287) come from. In _.ira, we have: 613: r125:QI=r2067:DI#0 ... 659: zero_extract(r2080:DI,0x8,0x8)=r125:QI#0 And in _.reload, a DImode reload is inserted before zero_extract RTX: 613: si:QI=r14:QI ... 2275: dx:DI=si:DI 659: zero_extract(ax:DI,0x8,0x8)=dx:DI However, %rsi is only initialized with QImode value in (insn 613). This word-mode reload for zero_extract RTX interferes with register propagation in subsequent passes, as shown in the comment #5.