https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99830
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P1 Keywords| |ra CC| |segher at gcc dot gnu.org --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- #10 0x00000000011550f2 in process_insn_for_elimination (insn=0x7ffff6577680, final_p=true, first_p=false) at ../../src/trunk/gcc/lra-eliminations.c:1333 1333 eliminate_regs_in_insn (insn, final_p, first_p, 0); (gdb) p debug_rtx (insn) (debug_insn 18 4 19 2 (var_location:HI u16_1 (subreg:HI (ashiftrt:SI (sign_extend:SI (subreg:HI (reg/v:SI 100 [ u16_1 ]) 0)) (zero_extend:SI (subreg:QI (ior:TI (and:TI (mem/c:TI (reg/f:DI 65 ap) [1 u128_1+0 S16 A128]) (const_int -16711681 [0xffffffffff00ffff])) (ashift:TI (zero_extend:TI (clobber:TI (const_int 0 [0]))) (const_int 16 [0x10]))) 0))) 0)) "t.c":4:9 -1 (nil)) and it chokes on the (zero_extend:TI (clobber ...)) which combine introduces. Before combine it was (debug_insn 18 17 19 2 (var_location:HI u16_1 (subreg:HI (ashiftrt:SI (sign_extend:SI (subreg:HI (reg/v:SI 100 [ u16_1 ]) 0)) (zero_extend:SI (subreg:QI (reg/v:TI 103 [ u128_1 ]) 0))) 0)) "t.c":4:9 -1 (nil)) not sure what goes wrong but I suppose if sth doesn't work out combine should reset the debug_insn rather than leaving garbage. Possibly latent of course.