https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117248
--- Comment #10 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
(In reply to John David Anglin from comment #7)
>
> Compile command:
> /home/dave/gnu/gcc/objdir/./prev-gcc/cc1plus -fpreprocessed
> tree-vect-slp.ii -quiet -dumpbase tree-vect-slp.cc -dumpbase-ext .cc -g -O2
> -Wextra -Wall -Wno-error=narrowing -Wwrite-strings -
> Wcast-qual -Wsuggest-attribute=format -Wconditionally-supported
> -Woverloaded-virtual=2 -Wpedantic -Wno-long-long -Wno-variadic-macros
> -Wno-overlength-strings -Werror -version -fno-checking -fno
> -exceptions -fno-rtti -fasynchronous-unwind-tables -fno-PIE -o
> tree-vect-slp.s
Sorry, I tried to reproduce the bug but failed. For yesterday trunk, I have
before LRA:
2981: %r26:SI=r171:SI
2982: %r25:SI=r104:SI
2983: {%r29:SI=udiv(%r26:SI,%r25:SI);clobber r951:SI;clobber r952:SI;clobber
%r26:SI;clobber %r25:SI;clobber %r31:SI;}
REG_DEAD %r26:SI
REG_DEAD %r25:SI
REG_UNUSED r952:SI
REG_UNUSED r951:SI
REG_UNUSED %r31:SI
REG_UNUSED %r26:SI
REG_UNUSED %r25:SI
REG_EQUAL udiv(r171:SI,r104:SI)
2985: %r26:SI=r171:SI
5697: r1590:SI=%r29:SI
REG_DEAD %r29:SI
2986: %r25:SI=r104:SI
2984: r121:SI=r1590:SI
REG_DEAD r1590:SI
REG_EQUAL udiv(r171:SI,r104:SI)
2987: {%r29:SI=umod(%r26:SI,%r25:SI);clobber r956:SI;clobber r955:SI;clobber
%r26:SI;clobber %r25:SI;clobber %r31:SI;}
and after LRA:
2981: %r26:SI=%r3:SI
6560: %r22:SI=%r30:SI-0xe0
2982: %r25:SI=[%r22:SI]
2983: {%r29:SI=udiv(%r26:SI,%r25:SI);clobber %r1:SI;clobber %r28:SI;clobber
%r26:SI;clobber %r25:SI;clobber %r31:SI;}
REG_EQUAL udiv(%r3:SI,[%r30:SI-0xe0])
2985: %r26:SI=%r3:SI
2986: %r25:SI=[%r22:SI]
2984: %r6:SI=%r29:SI
REG_EQUAL udiv(%r3:SI,[%r30:SI-0xe0])
2987: {%r29:SI=umod(%r26:SI,%r25:SI);clobber %r1:SI;clobber %r28:SI;clobber
%r26:SI;clobber %r25:SI;clobber %r31:SI;}
REG_EQUAL umod(%r3:SI,[%r30:SI-0xe0])
Insn 2986 still exists (absent in your RTL code). If you give me the exact
commit hash, I could try to reproduce it again.