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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
In *.reload we have:
(insn 119 28 23 5 (set (reg/v:SI 9 9 [orig:129 b ] [129])
        (const_int 2147483647 [0x7fffffff])) "pr84899.c":6 503
{*movsi_internal1}
     (expr_list:REG_EQUIV (const_int 2147483647 [0x7fffffff])
        (nil)))
(insn 23 119 24 5 (set (reg:SI 9 9 [130])
        (plus:SI (reg/v:SI 9 9 [orig:129 b ] [129])
            (reg/v:SI 10 10 [orig:124 a ] [124]))) "pr84899.c":6 72 {*addsi3}
     (nil))
(insn 24 23 26 5 (set (reg:SI 9 9 [orig:131 _2 ] [131])
        (plus:SI (reg:SI 9 9 [130])
            (const_int 1 [0x1]))) "pr84899.c":6 72 {*addsi3}
     (nil))
but postreload turns that into invalid:
(insn 119 28 24 5 (set (reg/v:SI 9 9 [orig:129 b ] [129])
        (const_int 2147483648 [0x80000000])) "pr84899.c":6 503
{*movsi_internal1}
     (nil))
(insn 24 119 26 5 (set (reg:SI 9 9 [orig:131 _2 ] [131])
        (plus:SI (reg/v:SI 9 9 [orig:129 b ] [129])
            (reg/v:SI 10 10 [orig:124 a ] [124]))) "pr84899.c":6 72 {*addsi3}
     (nil))
The bug is that 2147483648 is not valid SImode constant, -2147483648 is.

Reply via email to