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

--- Comment #5 from Andreas Schwab <sch...@linux-m68k.org> ---
With that patch, *lea is used in more places and LRA fails to remove the inner
SUBREG.

../../../gcc/libgcc/libgcov-profiler.c: In function ‘__gcov_interval_profiler’:
../../../gcc/libgcc/libgcov-profiler.c:46:1: error: insn does not satisfy its
constraints:
   46 | }
      | ^
(insn 41 65 66 6 (set (reg/f:SI 8 %a0 [orig:44 _14 ] [44])
        (plus:SI (ashift:SI (subreg:SI (reg/v:DI 0 %d0 [orig:47 delta ] [47])
4)
                (const_int 3 [0x3]))
            (reg:SI 9 %a1))) "../../../gcc/libgcc/libgcov-profiler.c":45:13 407
{*lea}
     (nil))
during RTL pass: postreload

Reply via email to