From: Jeff Law <jeffreyalaw@gmail.com>
To: HAO CHEN GUI <guihaoc@linux.ibm.com>,
gcc-patches <gcc-patches@gcc.gnu.org>
Cc: Segher Boessenkool <segher@kernel.crashing.org>,
David <dje.gcc@gmail.com>, "Kewen.Lin" <linkw@linux.ibm.com>,
Peter Bergner <bergner@linux.ibm.com>
Subject: Re: [PATCH-1, combine] Don't widen shift mode when target has rotate/mask instruction on original mode [PR93738]
Date: Fri, 4 Aug 2023 17:32:37 -0600 [thread overview]
Message-ID: <389f603d-ba15-ad1c-3c62-4ec34f9b545d@gmail.com> (raw)
In-Reply-To: <ddf571a3-a3c8-1d53-335a-4d182072cf9e@linux.ibm.com>
On 7/20/23 18:59, HAO CHEN GUI wrote:
> Hi Jeff,
>
> 在 2023/7/21 5:27, Jeff Law 写道:
>> Wouldn't it make more sense to just try rotate/mask in the original mode before trying a shift in a widened mode? I'm not sure why we need a target hook here.
>
> There is no change to try rotate/mask with the original mode when
> expensive_optimizations is set. The subst widens the shift mode.
But we can add it before the attempt in the wider mode.
>
> if (flag_expensive_optimizations)
> {
> /* Pass pc_rtx so no substitutions are done, just
> simplifications. */
> if (i1)
> {
> subst_low_luid = DF_INSN_LUID (i1);
> i1src = subst (i1src, pc_rtx, pc_rtx, 0, 0, 0);
> }
>
> subst_low_luid = DF_INSN_LUID (i2);
> i2src = subst (i2src, pc_rtx, pc_rtx, 0, 0, 0);
> }
>
> I don't know if the wider mode is helpful to other targets, so
> I added the target hook.
In this scenario we're often better off relying on rtx_costs (even with
all its warts) rather than adding yet another target hook.
I'd love to hear from Segher here to see if he's got other ideas.
jeff
next prev parent reply other threads:[~2023-08-04 23:32 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-19 3:06 HAO CHEN GUI
2023-07-20 21:27 ` Jeff Law
2023-07-21 0:59 ` HAO CHEN GUI
2023-07-21 1:06 ` HAO CHEN GUI
2023-08-04 23:32 ` Jeff Law [this message]
2023-08-21 1:37 ` HAO CHEN GUI
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=389f603d-ba15-ad1c-3c62-4ec34f9b545d@gmail.com \
--to=jeffreyalaw@gmail.com \
--cc=bergner@linux.ibm.com \
--cc=dje.gcc@gmail.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=guihaoc@linux.ibm.com \
--cc=linkw@linux.ibm.com \
--cc=segher@kernel.crashing.org \
/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).