public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Richard Sandiford <richard.sandiford@linaro.org>
To: Jackson Woodruff <jackson.woodruff@foss.arm.com>
Cc: "Richard Earnshaw \(lists\)" <Richard.Earnshaw@arm.com>,
	 gcc-patches@gcc.gnu.org,
	 James Greenhalgh <james.greenhalgh@arm.com>
Subject: Re: [AArch64, PATCH] Improve Neon store of zero
Date: Wed, 23 Aug 2017 14:46:00 -0000	[thread overview]
Message-ID: <878tiatm81.fsf@linaro.org> (raw)
In-Reply-To: <f7e9a7ec-b2d5-dcdd-d67b-e6f246385738@foss.arm.com> (Jackson	Woodruff's message of "Wed, 16 Aug 2017 16:19:17 +0100")

Jackson Woodruff <jackson.woodruff@foss.arm.com> writes:
> diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarch64-simd.md
> index 74de9b8c89dd5e4e3d87504594c969de0e0128ce..ce1b981fc005edf48a401a456def2a37cf9d9022 100644
> --- a/gcc/config/aarch64/aarch64-simd.md
> +++ b/gcc/config/aarch64/aarch64-simd.md
> @@ -23,7 +23,10 @@
>  	(match_operand:VALL_F16 1 "general_operand" ""))]
>    "TARGET_SIMD"
>    "
> -    if (GET_CODE (operands[0]) == MEM)
> +    if (GET_CODE (operands[0]) == MEM
> +	&& !(aarch64_simd_imm_zero (operands[1], <MODE>mode)
> +	     && aarch64_legitimate_address_p (<MODE>mode, operands[0],
> +					      PARALLEL, 1)))
>        operands[1] = force_reg (<MODE>mode, operands[1]);

Sorry for only noticing now, but the call to aarch64_legitimate_address_p
is asking whether the MEM itself is a legitimate LDP/STP address.  Also,
it might be better to pass false for strict_p, since this can be called
before RA.  So maybe:

    if (GET_CODE (operands[0]) == MEM
	&& !(aarch64_simd_imm_zero (operands[1], <MODE>mode)
	     && aarch64_mem_pair_operand (operands[0], <MODE>mode)))

?

Thanks,
Richard

  parent reply	other threads:[~2017-08-23 14:03 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-10 13:38 Jackson Woodruff
2017-08-11 15:16 ` Richard Earnshaw (lists)
2017-08-16 16:01   ` Jackson Woodruff
2017-08-17 13:56     ` Richard Earnshaw (lists)
2017-08-23 14:46     ` Richard Sandiford [this message]
2017-08-23 15:06 Wilco Dijkstra
2017-09-06  9:03 ` Jackson Woodruff
2017-09-12 16:28   ` James Greenhalgh
2017-09-13 16:35     ` Jackson Woodruff
2017-09-13 16:51       ` James Greenhalgh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=878tiatm81.fsf@linaro.org \
    --to=richard.sandiford@linaro.org \
    --cc=Richard.Earnshaw@arm.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=jackson.woodruff@foss.arm.com \
    --cc=james.greenhalgh@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).