On Thu, 22 Nov 2018 at 18:30, Vladimir Makarov <vmaka...@redhat.com> wrote: > > The following patch fixes > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87718 > > The patch adds a special treatment for moves with a hard register in > register cost and class calculation. > > The patch was bootstrapped and tested on x86-64 and ppc64. > > I found two testsuite regressions because of the patch. The expected > generated code for PR82361 test is too specific. GCC with the patch > generates the same quality code but with a different hard register on > x86-64. So I just changed the test for PR82361. > > Another test is for ppc64. I think the expected generated code for > this test is wrong. I'll submit a changed test for a discussion later. > > Although I spent much time on the solution and I think it is the > right one, the patch is in very sensitive area of RA and may affect > expected code generation for many targets. I am ready to work on the > new regressions as soon as they are found. > > The patch was committed as rev. 260385. >
Hi, This patch introduced at least several ICEs on arm targets: on arm-none-linux-gnueabi --with-cpu=cortex-a9: Executed from: gcc.target/arm/arm.exp gcc.target/arm/attr-neon-fp16.c (internal compiler error) gcc.target/arm/pr51968.c (internal compiler error) gcc.target/arm/pr68620.c (internal compiler error) Executed from: gcc.target/arm/simd/simd.exp gcc.target/arm/simd/vextp16_1.c (internal compiler error) gcc.target/arm/simd/vextp8_1.c (internal compiler error) gcc.target/arm/simd/vexts16_1.c (internal compiler error) gcc.target/arm/simd/vexts8_1.c (internal compiler error) gcc.target/arm/simd/vextu16_1.c (internal compiler error) gcc.target/arm/simd/vextu8_1.c (internal compiler error) gcc.target/arm/simd/vrev16p8_1.c (internal compiler error) gcc.target/arm/simd/vrev16s8_1.c (internal compiler error) gcc.target/arm/simd/vrev16u8_1.c (internal compiler error) gcc.target/arm/simd/vrev32p16_1.c (internal compiler error) gcc.target/arm/simd/vrev32p8_1.c (internal compiler error) gcc.target/arm/simd/vrev32s16_1.c (internal compiler error) gcc.target/arm/simd/vrev32s8_1.c (internal compiler error) gcc.target/arm/simd/vrev32u16_1.c (internal compiler error) gcc.target/arm/simd/vrev32u8_1.c (internal compiler error) gcc.target/arm/simd/vrev64f32_1.c (internal compiler error) gcc.target/arm/simd/vrev64p16_1.c (internal compiler error) gcc.target/arm/simd/vrev64p8_1.c (internal compiler error) gcc.target/arm/simd/vrev64s16_1.c (internal compiler error) gcc.target/arm/simd/vrev64s32_1.c (internal compiler error) gcc.target/arm/simd/vrev64s8_1.c (internal compiler error) gcc.target/arm/simd/vrev64u16_1.c (internal compiler error) gcc.target/arm/simd/vrev64u32_1.c (internal compiler error) gcc.target/arm/simd/vrev64u8_1.c (internal compiler error) arm-none-linux-gnueabihf shows only 1 ICE: gcc.target/arm/pr51968.c (internal compiler error) There are other regressions on the same targets, but not ICEs. I can report them later. Thanks, Christophe