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

--- Comment #10 from Martin Liška <marxin at gcc dot gnu.org> ---
I'm attaching all tree and rtl dumps for the problematic LTRANS unit:
https://drive.google.com/file/d/1CW4cWvpm1VVXFIP80XCf1IzYXWwTsynZ/view?usp=sharing

I can confirm what Andreas sees:

(note 8303 8031 7890 4 NOTE_INSN_PROLOGUE_END)
(insn:TI 7890 8303 7889 4 (set (mem/c:DI (plus:DI (reg/f:DI 31 sp)
                (const_int 704 [0x2c0])) [63 %sfp+-2912 S8 A64])
        (reg/f:DI 2 x2 [1833])) "../include/list.h":29:13 47 {*movdi_aarch64}
     (nil))
(insn 7889 7890 7887 4 (set (mem/c:DI (plus:DI (reg/f:DI 31 sp)
                (const_int 712 [0x2c8])) [63 %sfp+-2904 S8 A64])
        (reg/f:DI 3 x3 [1834])) "../include/list.h":29:13 47 {*movdi_aarch64}
     (nil))

gets transformed by peephole2 to:
(note 8303 8031 8556 4 NOTE_INSN_PROLOGUE_END)
(insn 8556 8303 7887 4 (parallel [
            (set (mem/c:DI (plus:DI (reg:DI 7 x7)
                        (const_int 8 [0x8])) [63 %sfp+-2912 S8 A64])
                (reg/f:DI 2 x2 [1833]))
            (set (mem/c:DI (plus:DI (reg:DI 7 x7)
                        (const_int 16 [0x10])) [63 %sfp+-2904 S8 A64])
                (reg/f:DI 3 x3 [1834]))
        ]) "../include/list.h":29:13 -1
     (nil))

I don't know what's the meaning of x7 register, but it's not set during main
function execution.

Reply via email to