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

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|target                      |rtl-optimization

--- Comment #2 from Uroš Bizjak <ubizjak at gmail dot com> ---
RA is trying to allocate V4QI register as output reload for (insn 215):

(insn 215 31 32 4 (set (reg:V2QI 104 [ _22 ])
        (reg:V2QI 274 [orig:104 _22 ] [104])) "pr124696.c":13:5 2089
{*movv2qi_internal}
     (expr_list:REG_DEAD (reg:V2QI 274 [orig:104 _22 ] [104])
        (nil)))

      Creating newreg=281, assigning class NO_REGS to secondary r281
  215: r104:V2QI=r274:V2QI
      REG_DEAD r274:V2QI
    Inserting the sec. move after:
  224: r104:V2QI#0=r281:V4QI

  215: r104:V2QI=r274:V2QI
      REG_DEAD r274:V2QI
    Changing on before:
  225: r281:V4QI=r274:V2QI#0

deleting insn with uid = 215.
      Creating newreg=282 from oldreg=274, assigning class ALL_REGS to
paradoxical subreg r282
  225: r281:V4QI=r282:V4QI#0
    Inserting paradoxical subreg reload before:
  226: r282:V4QI#0=r274:V2QI

and after:

      Creating newreg=283, assigning class NO_REGS to secondary r283
  226: r282:V4QI#0=r274:V2QI
    Inserting the sec. move after:
  227: r282:V4QI#0=r283:V4QI

  226: r282:V4QI#0=r274:V2QI
    Changing on before:
  228: r283:V4QI=r274:V2QI#0

deleting insn with uid = 226.
      Creating newreg=284 from oldreg=274, assigning class ALL_REGS to
paradoxical subreg r284
  228: r283:V4QI=r284:V4QI#0
    Inserting paradoxical subreg reload before:
  229: r284:V4QI#0=r274:V2QI

that continues in a reload loop.

I don't see anything around (insn 225, "*movv2qi_internal") that would require
V4QI mode. Looks like RA problem to me.

Reply via email to