On Wed, 3 Nov 2021, Maciej W. Rozycki wrote: > Correct a `vax-netbsdelf' target regression ultimately caused by commit > c605a8bf9270 ("VAX: Accept ASHIFT in address expressions") (needed for > LRA) and as of commit 4a960d548b7d ("Avoid invalid loop transformations > in jump threading registry.") causing a build error in libgcc: > > .../libgcc/libgcov-driver.c: In function 'gcov_do_dump': > .../libgcc/libgcov-driver.c:686:1: error: insn does not satisfy its > constraints: > 686 | } > | ^ > (insn 2051 2050 2052 185 (set (reg/f:SI 0 %r0 [555]) > (plus:SI (ashift:SI (mem/c:SI (plus:SI (reg/f:SI 13 %fp) > (const_int -28 [0xffffffffffffffe4])) [40 %sfp+-28 S4 > A32]) > (const_int 3 [0x3])) > (plus:SI (reg/v/f:SI 9 %r9 [orig:176 fn_buffer ] [176]) > (const_int 24 [0x18])))) ".../libgcc/libgcov-driver.c":172:40 > 614 {movaddrdi} > (nil)) > during RTL pass: postreload
[...] > As noted in the commit description this has been regression-tested with > commit 4a960d548b7d^. I'm running regression-testing with GCC 11 right > now as well and expect results by the end of week. > > I was trying to chase another target I could use to regression-test this > with that does do scaled indexed addressing while still using old reload. > The i386 port would be a good candidate, but it has switched to LRA long > ago with no option to use old reload, and I think there would be little > point in adding one just for the sake of such verification. Do we have > any other port actually that could be affected by this change? That'd be cris-elf. Your proposed patch reminded me of 6cb68940dcf9; giving reload a reload-specific insn_and_split pattern to play with, matching "mult" outside of a mem. I *guess* that's the CRIS-specific replacement to c605a8bf9270. brgds, H-P