https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103396

--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Created attachment 51864
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51864&action=edit
Reduced testcase – compile with -O2 -march=gfx900 / gfx906 / gfx908

Note: No ICE with -match=fiji

ICE at:

Breakpoint 1, move_callee_saved_registers (sp=0x7ffff73090f0,
offsets=0x7ffff7402e00, prologue=true)
    at gcc-mainline/gcc/config/gcn/gcn.c:2821
2821                        RTVEC_ELT (seq, count) = set;

with

(gdb) p debug_rtx(sp)
(reg/f:DI 16 s16)

(gdb) p debug_rtx(set)
(set/f (mem:DI (plus:DI (reg/f:DI 16 s16)
            (const_int 8 [0x8])) [0  S8 A64])
    (reg:DI 420 ?dwlr))
$18 = void

(gdb) p count
$8 = 4

(gdb) p *seq
$10 = {num_elem = 4, elem = {0x7ffff742ef30}}
(gdb) p *seq.elem 
$11 = (rtx) 0x7ffff742ef30
(gdb) p seq.elem[0] 
$12 = (rtx) 0x7ffff742ef30
(gdb) p debug_rtx(seq.elem[0])
(set/f (mem:SI (plus:DI (reg/f:DI 16 s16)
            (const_int 0 [0])) [0  S4 A32])
    (reg:SI 14 s14))
$13 = void
(gdb) p debug_rtx(seq.elem[1])
(set/f (mem:SI (plus:DI (reg/f:DI 16 s16)
            (const_int 4 [0x4])) [0  S4 A32])
    (reg:SI 15 s15))
$14 = void
(gdb) p debug_rtx(seq.elem[2])
(set/f (mem:SI (plus:DI (reg/f:DI 16 s16)
            (const_int 8 [0x8])) [0  S4 A32])
    (reg:SI 18 s18))
$15 = void
(gdb) p debug_rtx(seq.elem[3])
(set/f (mem:SI (plus:DI (reg/f:DI 16 s16)
            (const_int 12 [0xc])) [0  S4 A32])
    (reg:SI 19 s19))
$16 = void

Reply via email to