https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92213
--- Comment #5 from Hongtao.liu <crazylht at gmail dot com> --- all_hard_regs_bitmap didn't has 68(k0). first = 0x37fd100 current = 0x37fd100 indx = 0 0x37fd100 next = (nil) prev = (nil) indx = 0 bits = { 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 70 71 72 73 74 75 } it's cleared by /* As we did not change CFG since LRA start we can use DF-infrastructure solver to solve live data flow problem. */ for (int i = 0; HARD_REGISTER_NUM_P (i); ++i) { if (TEST_HARD_REG_BIT (hard_regs_spilled_into, i)) => bitmap_clear_bit (&all_hard_regs_bitmap, i); } Breakpoint 32, lra_create_live_ranges_1 (all_p=true, dead_insn_p=false) at ../../../gnu-toolchain/gcc/gcc/lra-lives.c:1396 1396 bitmap_clear_bit (&all_hard_regs_bitmap, i); (gdb) p i $200 = 68 (gdb) p hard_regs_spilled_into $201 = {elts = {0, 16}} (gdb) p i $202 = 68