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

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I think the bug is in move_plus_up, as that function transforms:
(subreg:SI (plus:DI (reg/f:DI 20 frame)
        (const_int 16 [0x10])) 0)
into:
(plus:SI (plus:SI (subreg:SI (reg/f:DI 20 frame) 0)
        (const_int 16 [0x10]))
    (const_int 16 [0x10]))
which looks just wrong, it should have been
(plus:SI (subreg:SI (reg/f:DI 20 frame) 0)
    (const_int 16 [0x10])))

Reply via email to