https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104054
--- Comment #3 from Uroš Bizjak <ubizjak at gmail dot com> --- The first difference is in rnreg pass, w/o -g: 28: L28: 29: NOTE_INSN_BASIC_BLOCK 4 30: [`i']=0 63: di:DI=r9:DI <--- here 64: dx:DI=r10:DI 9: r8:HI=0x5 REG_EQUAL 0x5 98: {cx:DI=0;clobber flags:CC;} REG_UNUSED flags:CC 84: si:DI=0x1 99: {r11:DI=0;clobber flags:CC;} REG_UNUSED flags:CC 79: pc=L41 and w/ -g: 34: L34: 35: NOTE_INSN_BASIC_BLOCK 4 36: debug begin stmt marker 37: [`i']=0 77: ax:DI=r9:DI 78: dx:DI=r10:DI 9: r8:HI=0x5 REG_EQUAL 0x5 112: {cx:DI=0;clobber flags:CC;} REG_UNUSED flags:CC 98: si:DI=0x1 113: {di:DI=0;clobber flags:CC;} REG_UNUSED flags:CC 93: pc=L53 And indeed, the -fcompare-debug test succeeds with -fno-rename-registers