Hi Alex,
> -Original Message-
> From: Alex Coplan
> Sent: 22 April 2020 21:41
> To: gcc-patches@gcc.gnu.org
> Cc: Richard Earnshaw ; Richard Sandiford
> ; Marcus Shawcroft
> ; Kyrylo Tkachov ;
> nd
> Subject: [PATCH] aarch64: eliminate redundant zero exte
Hi Alex,
> -Original Message-
> From: Alex Coplan
> Sent: 22 April 2020 21:41
> To: gcc-patches@gcc.gnu.org
> Cc: Richard Earnshaw ; Richard Sandiford
> ; Marcus Shawcroft
> ; Kyrylo Tkachov ;
> nd
> Subject: [PATCH] aarch64: eliminate redundant zero exte
Hello,
The attached patch eliminates a redundant zero extend from the AArch64 backend.
Given the following C code:
unsigned long long foo(unsigned a)
{
return ~a;
}
prior to this patch, AArch64 GCC at -O2 generates:
foo:
mvn w0, w0
uxtwx0, w0
ret
but the ux