https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118067
--- Comment #5 from Uroš Bizjak <ubizjak at gmail dot com> --- The problematic insn is still: (insn 9 5 10 2 (parallel [ (set (reg:HI 99 [ _2 ]) (lshiftrt:HI (subreg:HI (reg/v:V32HI 165 [ u ]) 0) (const_int 1 [0x1]))) (clobber (reg:CC 17 flags)) ]) "pr118067.c":10:8 1215 {*lshrhi3_1} (expr_list:REG_UNUSED (reg:CC 17 flags) (nil))) But now reload tries to reload input operand with: Inserting insn reload before: 191: r337:HI=r165:V32HI#0 Creating newreg=338, assigning class NO_REGS to secondary r338 191: r337:HI=r165:V32HI#0 Inserting the sec. move after: 192: r337:HI#0=r338:SI 191: r337:HI=r165:V32HI#0 Changing on before: 193: r338:SI=r165:V32HI#0 deleting insn with uid = 191. Choosing alt 0 in insn 192: (0) =r (1) g {*movsi_internal} Creating newreg=339, assigning class GENERAL_REGS to r339 192: r339:SI=r338:SI Inserting insn reload after: 194: r337:HI#0=r339:SI Choosing alt 1 in insn 194: (0) m (1) re {*movsi_internal} Change to class INDEX_GPR16 for r339 Creating newreg=340, assigning class NO_REGS to r340 194: r340:SI=r339:SI Inserting insn reload after: 195: r337:HI#0=r340:SI Choosing alt 0 in insn 195: (0) =r (1) g {*movsi_internal} Creating newreg=341, assigning class GENERAL_REGS to r341 195: r341:SI=r340:SI Inserting insn reload after: 196: r337:HI#0=r341:SI Choosing alt 1 in insn 196: (0) m (1) re {*movsi_internal} Change to class INDEX_GPR16 for r341 Creating newreg=342, assigning class NO_REGS to r342 196: r342:SI=r341:SI Inserting insn reload after: 197: r337:HI#0=r342:SI And looping from here.