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

--- Comment #3 from Uroš Bizjak <ubizjak at gmail dot com> ---
It looks to me that reload is trying to handle the following sequence from
_.322r.ira dump:

(insn 32 31 35 2 (set (subreg:TI (reg:TD 99 [ _2 ]) 0)
        (reg:TI 20 xmm0)) "pr118017.c":14:24 94 {*movti_internal}
     (expr_list:REG_DEAD (reg:TI 20 xmm0)
        (nil)))
...

(insn 41 40 42 2 (set (mem/c:TI (plus:DI (reg/f:DI 19 frame)
                (const_int -240 [0xffffffffffffff10])) [0  S16 A128])
        (subreg:TI (reg:TD 99 [ _2 ]) 0)) "pr118017.c":14:20 94
{*movti_internal}
     (nil))

Choking in LRA with the following _.323r.reload emergency dump:

(insn 32 31 301 2 (set (reg:TI 281)
        (reg:TI 20 xmm0)) "pr118017.c":14:24 94 {*movti_internal}
     (expr_list:REG_DEAD (reg:TI 20 xmm0)
        (nil)))
(insn 301 32 279 2 (set (subreg:TI (reg:TD 267 [orig:99 _2 ] [99]) 0)
        (reg:TI 281)) "pr118017.c":14:24 94 {*movti_internal}
     (nil))
(insn 279 301 35 2 (set (subreg:TI (reg:TD 99 [ _2 ]) 0)
        (subreg:TI (reg:TD 267 [orig:99 _2 ] [99]) 0)) "pr118017.c":14:24 94
{*movti_internal}
     (expr_list:REG_UNUSED (reg:TD 99 [ _2 ])
        (nil)))

...

(insn 275 40 302 2 (set (reg:TI 282)
        (subreg:TI (reg:TD 267 [orig:99 _2 ] [99]) 0)) "pr118017.c":14:20 94
{*movti_internal}
     (expr_list:REG_DEAD (reg:TD 267 [orig:99 _2 ] [99])
        (nil)))
(insn 302 275 303 2 (set (reg:TI 283)
        (reg:TI 282)) "pr118017.c":14:20 94 {*movti_internal}
     (nil))
(insn 303 302 304 2 (set (reg:TI 284)
        (reg:TI 283)) "pr118017.c":14:20 94 {*movti_internal}
     (nil))

...

(insn 392 391 225 2 (set (subreg:TI (reg:TD 264 [orig:99 _2 ] [99]) 0)
        (reg:TI 372)) "pr118017.c":14:20 94 {*movti_internal}
     (nil))
(insn 225 392 300 2 (set (reg:TI 280)
        (subreg:TI (reg:TD 264 [orig:99 _2 ] [99]) 0)) "pr118017.c":14:20 94
{*movti_internal}
     (nil))
(insn 300 225 41 2 (set (reg:TI 221)
        (reg:TI 280)) "pr118017.c":14:20 94 {*movti_internal}
     (nil))
(insn 41 300 274 2 (set (mem/c:TI (plus:DI (reg/f:DI 19 frame)
                (const_int -288 [0xfffffffffffffee0])) [0  S16 A128])
        (reg:TI 221)) "pr118017.c":14:20 94 {*movti_internal}
     (expr_list:REG_DEAD (reg:TI 221)
        (nil)))

Please note the sequence of instructions from (insn 302) to (insn 392) that
kills the compilation due to maximum (90) reloads.

Reply via email to