From: Uros Bizjak <ubizjak@gmail.com>
To: Hongtao Liu <crazylht@gmail.com>
Cc: "gcc-patches@gcc.gnu.org" <gcc-patches@gcc.gnu.org>
Subject: Re: [PATCH, i386]: Do not limit the cost of moves to/from XMM register to minimum 8.
Date: Fri, 30 Aug 2019 07:22:00 -0000 [thread overview]
Message-ID: <CAFULd4ZQ+J3AABdvNJ7tnzwCHm6VmBvr5Ai_WTPgJwxtm+ARxw@mail.gmail.com> (raw)
In-Reply-To: <CAMZc-bz2F0rx8-ms-UVCGyGJ9Dki7uE4b10J5jKd2=RSXH83rw@mail.gmail.com>
On Fri, Aug 30, 2019 at 2:08 AM Hongtao Liu <crazylht@gmail.com> wrote:
>
> On Fri, Aug 30, 2019 at 2:09 AM Uros Bizjak <ubizjak@gmail.com> wrote:
> >
> > 2019-08-28 Uroš Bizjak <ubizjak@gmail.com>
> >
> > * config/i386/i386.c (ix86_register_move_cost): Do not
> > limit the cost of moves to/from XMM register to minimum 8.
> >
> > Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}.
> >
> > Actually committed as r274994 with the wrong ChangeLog.
> >
> > Uros.
>
> There is 11% regression in 548.exchange_r of SPEC2017.
>
> Reason for the regression:
> For 548.exchange_r, a lot of movements between gpr and xmm are
> generated as expected,
> and it reduced clocksticks by 3%.
This is OK, and expected from the patch.
> But however maybe too many xmm registers are used,
> a frequency reduction issue is triggered(average frequency reduced by 13%).
> So totally it takes more time.
This is a secondary effect that is currently not modelled by the compiler.
However, I expected that SSE <-> int moves in x86-tune-cost.h will
have to be retuned. Up to now, both directions were limited to minimum
8, so any value lower than 8 was ignored. However, minimum was set to
work-around certain limitation in reload, which is not needed anymore.
You can simply set the values of SSE <-> int moves to 8 (which is an
arbitrary value!) to restore the previous behaviour, but I think that
a more precise cost value should be determined, probably a different
one for each direction. But until register pressure effects are
modelled, any artificially higher value will represent a workaround
and not the true reg-reg move cost.
Uros.
next prev parent reply other threads:[~2019-08-30 6:18 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-29 20:01 Uros Bizjak
2019-08-30 7:12 ` Hongtao Liu
2019-08-30 7:16 ` Hongtao Liu
2019-08-30 7:22 ` Uros Bizjak [this message]
2019-08-30 7:30 ` Hongtao Liu
-- strict thread matches above, loose matches on Subject: below --
2019-08-28 16:12 [PATCH, i386]: Improve STV conversion of shifts Uros Bizjak
2019-08-29 8:49 ` Uros Bizjak
2019-08-30 7:40 ` Richard Biener
2019-08-30 8:29 ` [PATCH, i386]: Do not limit the cost of moves to/from XMM register to minimum 8 Uros Bizjak
2019-08-31 3:01 ` Alan Modra
2019-08-31 16:12 ` Richard Biener
2019-09-01 19:49 ` Uros Bizjak
2019-09-02 7:16 ` Alan Modra
2019-09-02 8:13 ` Hongtao Liu
2019-09-02 8:41 ` Uros Bizjak
2019-09-03 7:57 ` Hongtao Liu
2019-09-03 11:24 ` Richard Biener
2019-09-03 11:33 ` Richard Biener
2019-09-03 16:50 ` Uros Bizjak
2019-09-04 1:42 ` Hongtao Liu
2019-09-05 5:47 ` Hongtao Liu
2019-09-05 8:54 ` Uros Bizjak
2019-09-02 10:23 ` Richard Biener
2019-09-03 1:37 ` Hongtao Liu
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=CAFULd4ZQ+J3AABdvNJ7tnzwCHm6VmBvr5Ai_WTPgJwxtm+ARxw@mail.gmail.com \
--to=ubizjak@gmail.com \
--cc=crazylht@gmail.com \
--cc=gcc-patches@gcc.gnu.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).