From: Jan Hubicka <hubicka@ucw.cz>
To: "H.J. Lu" <hjl.tools@gmail.com>
Cc: gcc-patches@gcc.gnu.org, Hongtao Liu <hongtao.liu@intel.com>,
Hongyu Wang <hongyu.wang@intel.com>
Subject: Re: [PATCH 1/3] x86: Update memcpy/memset inline strategies for Ice Lake
Date: Mon, 22 Mar 2021 15:10:27 +0100 [thread overview]
Message-ID: <20210322141027.GA11522@kam.mff.cuni.cz> (raw)
In-Reply-To: <20210322131636.58461-2-hjl.tools@gmail.com>
>
> gcc/
>
> * config/i386/i386-expand.c (expand_set_or_cpymem_via_rep):
> For TARGET_PREFER_KNOWN_REP_MOVSB_STOSB, don't convert QImode
> to SImode.
> (decide_alg): For TARGET_PREFER_KNOWN_REP_MOVSB_STOSB, use
> "rep movsb/stosb" only for known sizes.
> * config/i386/i386-options.c (processor_cost_table): Use Ice
> Lake cost for Cannon Lake, Ice Lake, Tiger Lake, Sapphire
> Rapids and Alder Lake.
> * config/i386/i386.h (TARGET_PREFER_KNOWN_REP_MOVSB_STOSB): New.
> * config/i386/x86-tune-costs.h (icelake_memcpy): New.
> (icelake_memset): Likewise.
> (icelake_cost): Likewise.
> * config/i386/x86-tune.def (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB):
> New.
It looks like X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB is quite obviously
benefical and independent of the rest of changes. I think we will need
to discuss bit more the move ratio and the code size/uop cache polution
issues - one option would be to use increased limits for -O3 only.
Can you break this out to independent patch? I also wonder if it owuld
not be more readable to special case this just on the beggining of
decide_alg.
> @@ -6890,6 +6891,7 @@ decide_alg (HOST_WIDE_INT count, HOST_WIDE_INT expected_size,
> const struct processor_costs *cost;
> int i;
> bool any_alg_usable_p = false;
> + bool known_size_p = expected_size != -1;
expected_size is not -1 if we have profile feedback and we detected from
histogram average size of a block. It seems to me that from description
that you want the const to be actual compile time constant that would be
min_size == max_size I guess.
Honza
next prev parent reply other threads:[~2021-03-22 14:10 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-22 13:16 [PATCH 0/3] x86: Update memcpy/memset inline strategies H.J. Lu
2021-03-22 13:16 ` [PATCH 1/3] x86: Update memcpy/memset inline strategies for Ice Lake H.J. Lu
2021-03-22 14:10 ` Jan Hubicka [this message]
2021-03-22 23:57 ` [PATCH v2 " H.J. Lu
2021-03-29 13:43 ` H.J. Lu
2021-03-31 6:59 ` Richard Biener
2021-03-31 8:05 ` Jan Hubicka
2021-03-31 13:09 ` H.J. Lu
2021-03-31 13:40 ` Jan Hubicka
2021-03-31 13:47 ` Jan Hubicka
2021-03-31 15:41 ` H.J. Lu
2021-03-31 17:43 ` Jan Hubicka
2021-03-31 17:54 ` H.J. Lu
2021-04-01 5:57 ` Hongyu Wang
2021-03-22 13:16 ` [PATCH 2/3] x86: Update memcpy/memset inline strategies for Skylake family CPUs H.J. Lu
2021-04-05 13:45 ` H.J. Lu
2021-04-05 21:14 ` Jan Hubicka
2021-04-05 21:53 ` H.J. Lu
2021-04-06 9:09 ` Hongyu Wang
2021-04-06 9:51 ` Jan Hubicka
2021-04-06 12:34 ` H.J. Lu
2021-03-22 13:16 ` [PATCH 3/3] x86: Update memcpy/memset inline strategies for -mtune=generic H.J. Lu
2021-03-22 13:29 ` Richard Biener
2021-03-22 13:38 ` H.J. Lu
2021-03-23 2:41 ` Hongyu Wang
2021-03-23 8:19 ` Richard Biener
2021-08-22 15:28 ` PING [PATCH] " H.J. Lu
2021-09-08 3:01 ` PING^2 " H.J. Lu
2021-09-13 13:38 ` H.J. Lu
2021-09-20 17:06 ` PING^3 " H.J. Lu
2021-10-01 15:24 ` PING^4 " H.J. Lu
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=20210322141027.GA11522@kam.mff.cuni.cz \
--to=hubicka@ucw.cz \
--cc=gcc-patches@gcc.gnu.org \
--cc=hjl.tools@gmail.com \
--cc=hongtao.liu@intel.com \
--cc=hongyu.wang@intel.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).