This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
AArch64 patch ping
- From: Jakub Jelinek <jakub at redhat dot com>
- To: "james.greenhalgh" <james dot greenhalgh at arm dot com>, Marcus Shawcroft <Marcus dot Shawcroft at arm dot com>, "richard.earnshaw" <richard dot earnshaw at arm dot com>, Christophe Lyon <christophe dot lyon at linaro dot org>, Richard Sandiford <richard dot sandiford at arm dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Steve Ellcey <sellcey at cavium dot com>
- Date: Thu, 15 Feb 2018 09:26:32 +0100
- Subject: AArch64 patch ping
- Authentication-results: sourceware.org; auth=none
- References: <1515190466.18339.14.camel@cavium.com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
Hi!
I'd like to ping this patch from Steve.
On Fri, Jan 05, 2018 at 02:14:26PM -0800, Steve Ellcey wrote:
> This is a fix for PR target/83335. We are asserting in
> aarch64_print_address_internal because we have a non Pmode
> address coming from an asm instruction. My fix is to
> just allow this by checking this_is_asm_operands. This is
> what it was doing before the assert was added that caused
> the ICE.
>
> Verified that it fixed gcc.target/aarch64/asm-2.c in ILP32
> mode and that it caused no regressions.
>
> Steve Ellcey
> sellcey@cavium.com
>
>
> 2018-01-05 Steve Ellcey <sellcey@cavium.com>
>
> PR target/83335
> * config/aarch64/aarch64.c (aarch64_print_address_internal):
> Allow non Pmode address in asm statements.
>
>
> diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
> index a189605..af74212 100644
> --- a/gcc/config/aarch64/aarch64.c
> +++ b/gcc/config/aarch64/aarch64.c
> @@ -5670,8 +5670,9 @@ aarch64_print_address_internal (FILE *f, machine_mode mode, rtx x,
> {
> struct aarch64_address_info addr;
>
> - /* Check all addresses are Pmode - including ILP32. */
> - gcc_assert (GET_MODE (x) == Pmode);
> + /* Check all addresses are Pmode - including ILP32,
> + unless this is coming from an asm statement. */
> + gcc_assert (GET_MODE (x) == Pmode || this_is_asm_operands);
>
> if (aarch64_classify_address (&addr, x, mode, true, type))
> switch (addr.type)
Jakub