[PATCH] [aarch64] Fix PR94591: GCC generates invalid rev64 insns

Alex Coplan Alex.Coplan@arm.com
Fri May 29 13:27:01 GMT 2020


> -----Original Message-----
> From: Richard Sandiford <richard.sandiford@arm.com>
> Sent: 29 May 2020 11:59
> To: Alex Coplan <Alex.Coplan@arm.com>
> Cc: gcc-patches@gcc.gnu.org; nd <nd@arm.com>; Richard Earnshaw
> <Richard.Earnshaw@arm.com>; Marcus Shawcroft <Marcus.Shawcroft@arm.com>;
> Kyrylo Tkachov <Kyrylo.Tkachov@arm.com>
> Subject: Re: [PATCH] [aarch64] Fix PR94591: GCC generates invalid rev64
> insns
> 
> Alex Coplan <alex.coplan@arm.com> writes:
> > On 19/05/2020 17:59, Richard Sandiford wrote:
> >> Alex Coplan <alex.coplan@arm.com> writes:
> >> > Hello,
> >> >
> >> > This patch fixes PR94591. The problem was the function
> aarch64_evpc_rev_local()
> >> > matching vector permutations that were not reversals. In particular,
> prior to
> >> > this patch, this function matched the identity permutation which led
> to
> >> > generating bogus REV64 insns which were rejected by the assembler.
> >> >
> >> > Testing:
> >> >  - New regression test which passes after applying the patch.
> >> >  - New test passes on an x64 -> aarch64-none-elf cross.
> >> >  - Bootstrap and regtest on aarch64-linux-gnu.
> >> >
> >> > OK to install?
> >> >
> >> > Thanks,
> >> > Alex
> >> >
> >> > ---
> >> >
> >> > gcc/ChangeLog:
> >> >
> >> > 2020-05-19  Alex Coplan  <alex.coplan@arm.com>
> >> >
> >> > 	PR target/94591
> >> > 	* config/aarch64/aarch64.c (aarch64_evpc_rev_local): Don't match
> >> > 	identity permutation.
> >> >
> >> > gcc/testsuite/ChangeLog:
> >> >
> >> > 2020-05-19  Alex Coplan  <alex.coplan@arm.com>
> >> >
> >> > 	PR target/94591
> >> > 	* gcc.c-torture/execute/pr94591.c: New test.
> >>
> >> OK, thanks.
> >>
> >> Richard
> >
> > I've just tested this patch on gcc-{8,9,10} release branches:
> > bootstraps+regtests on aarch64-linux-gnu came back clean.
> >
> > Since this was a regression introduced in GCC 8, is it OK to backport
> > the fix to those release branches now?
> 
> Yeah, OK for the branches too.

Installed on the branches.

Thanks,
Alex


More information about the Gcc-patches mailing list