From: Segher Boessenkool <segher@kernel.crashing.org>
To: Jakub Jelinek <jakub@redhat.com>,
Jeff Law via Gcc-patches <gcc-patches@gcc.gnu.org>,
Tamar Christina <Tamar.Christina@arm.com>,
Roger Sayle <roger@nextmovesoftware.com>,
Jeff Law <jeffreyalaw@gmail.com>,
richard.sandiford@arm.com
Subject: Re: [PATCH] combine: Try harder to form zero_extends [PR106594]
Date: Mon, 6 Mar 2023 17:31:42 -0600 [thread overview]
Message-ID: <20230306233142.GR25951@gate.crashing.org> (raw)
In-Reply-To: <mptv8jd7kxn.fsf@arm.com>
Hi!
On Mon, Mar 06, 2023 at 07:13:08PM +0000, Richard Sandiford wrote:
> Segher Boessenkool <segher@kernel.crashing.org> writes:
> > Most importantly, what makes you think this is a problem for aarch64
> > only? If it actually is, you can fix it in the aarch64 config! Either
> > with or without new hooks, whatever works best.
>
> The point is that I don't think it's a problem for AArch64 only.
> I think it's a generic issue that should be solved in a generic way
> (which is what the patch is trying to do). The suggestion to restrict
> it to AArch64 came from Jakub.
>
> The reason I'm pushing back against a hook is precisely because
> I don't want to solve this in AArch64-specific code.
But it is many times worse still to do it in target-specific magic code
disguised as generic code :-(
If there is no clear explanation why combine should do X, then it
probably should not.
> I'm not sure we would be talking about restricting this to AArch64
> if the patch had been posted in stage 1. If people are concerned
> about doing this for all targets in stage 4 (which they seem to be),
Not me, not in principle. But it takes more time than we have left in
stage 4 to handle this, even for only combine. We should give the other
target maintainers much longer as well.
> I thought the #ifdef was the simplest way of addressing that concern.
An #ifdef is a way of making a change that is not finished yet not hurt
the other targets. It still hurts generic development, which indirectly
hurts all targets.
> And I don't think what the patch does is ad hoc.
It is almost impossible to explain what it does and why that is a good
thing, why it is what we want, what we should do here; and certainly not
in a compact, terse, focused way. It has all the hallmarks of ad hoc
patches.
> Reorganising the
> expression in this way isn't something new. extract_left_shift already
> does a similar thing (and does it for all targets).
That is not similar at all, no.
/* See if X (of mode MODE) contains an ASHIFT of COUNT or more bits that
can be commuted with any other operations in X. Return X without
that shift if so. */
If you can factor out a utility function like that, with an actual nice
description like that, it would be a much more palatable patch.
Segher
next prev parent reply other threads:[~2023-03-06 23:32 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-04 18:32 [PATCH] PR rtl-optimization/106594: Preserve zero_extend in combine when cheap Roger Sayle
2023-03-04 22:17 ` Segher Boessenkool
2023-03-05 19:28 ` Tamar Christina
2023-03-05 19:56 ` Jeff Law
2023-03-05 20:43 ` Tamar Christina
2023-03-05 21:33 ` Segher Boessenkool
2023-03-06 12:08 ` Segher Boessenkool
2023-03-06 12:11 ` Tamar Christina
2023-03-06 12:47 ` [PATCH] combine: Try harder to form zero_extends [PR106594] Richard Sandiford
2023-03-06 13:58 ` Segher Boessenkool
2023-03-06 15:08 ` Richard Sandiford
2023-03-06 16:18 ` Jakub Jelinek
2023-03-06 16:34 ` Richard Sandiford
2023-03-06 18:31 ` Segher Boessenkool
2023-03-06 19:13 ` Richard Sandiford
2023-03-06 23:31 ` Segher Boessenkool [this message]
2023-03-08 11:58 ` Richard Sandiford
2023-03-08 22:50 ` Segher Boessenkool
2023-03-09 10:18 ` Richard Sandiford
2023-03-06 22:58 ` Segher Boessenkool
2023-03-06 18:13 ` Segher Boessenkool
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=20230306233142.GR25951@gate.crashing.org \
--to=segher@kernel.crashing.org \
--cc=Tamar.Christina@arm.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=jakub@redhat.com \
--cc=jeffreyalaw@gmail.com \
--cc=richard.sandiford@arm.com \
--cc=roger@nextmovesoftware.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).