public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "e.menezes at samsung dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/61915] [AArch64] High amounts of GP to FP register moves using LRA on AArch64
Date: Fri, 24 Oct 2014 21:34:00 -0000	[thread overview]
Message-ID: <bug-61915-4-LgPbP227bX@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-61915-4@http.gcc.gnu.org/bugzilla/>

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61915

--- Comment #11 from Evandro <e.menezes at samsung dot com> ---
(In reply to Wilco from comment #9)
> The performance cost is a much bigger issue than codesize. The problem is
> that when register pressure is high, the register allocator decides to
> allocate integer liveranges to FP registers and insert int<->fp moves for
> every use/define (ie. you end up with far more moves than you would if it
> were spilled, so it is a bad thing even if int<->fp moves are cheap).
> 
> I committed a workaround
> (http://gcc.gnu.org/ml/gcc-patches/2014-09/msg00362.html) by increasing the
> int<->fp move cost. Can you try this and check the issue has indeed gone?
> You need -mcpu=cortex-a57.

I believe that it pretty much is, after a cursory examination.  The code size 
after the patch is back down about 2% for the test case above.  Of note, the
prolog and epilog are much smaller, because the FP registers don't have to be
saved and restored anymore, and the stack frame shrank correspondingly.

Do you have an idea of the performance impact of this patch?


  parent reply	other threads:[~2014-10-24 21:27 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-25 22:37 [Bug target/61915] New: [AArch64] Default use of the LRA results in extra code size e.menezes at samsung dot com
2014-07-25 22:40 ` [Bug target/61915] " pinskia at gcc dot gnu.org
2014-07-25 22:41 ` pinskia at gcc dot gnu.org
2014-07-25 22:45 ` e.menezes at samsung dot com
2014-08-05  9:08 ` [Bug target/61915] [AArch64] High amounts of GP to FP register moves using LRA on AArch64 ramana at gcc dot gnu.org
2014-08-05 15:27 ` e.menezes at samsung dot com
2014-08-14 14:28 ` vmakarov at gcc dot gnu.org
2014-08-14 14:53 ` e.menezes at samsung dot com
2014-08-14 15:02 ` vmakarov at gcc dot gnu.org
2014-10-22 21:23 ` wdijkstr at arm dot com
2014-10-22 23:28 ` wdijkstr at arm dot com
2014-10-24 21:34 ` e.menezes at samsung dot com [this message]
2014-10-24 21:39 ` e.menezes at samsung dot com
2014-10-24 22:39 ` pinskia at gcc dot gnu.org
2014-10-25  0:57 ` e.menezes at samsung dot com
2014-10-25  1:29 ` wdijkstr at arm dot com
2014-10-25  1:41 ` wdijkstr at arm dot com
2014-10-25  6:46 ` pinskia at gcc dot gnu.org
2014-10-28 10:51 ` [Bug target/61915] [AArch64] High amounts of GP to FP register moves using LRA on AArch64 - Improve Generic register_move_cost and memory_move_cost ramana at gcc dot gnu.org
2014-10-28 11:14 ` ramana at gcc dot gnu.org
2014-10-31 16:25 ` e.menezes at samsung dot com
2014-11-19 14:41 ` jiwang at gcc dot gnu.org
2014-11-19 14:47 ` wdijkstr at arm dot com
2015-03-10  7:34 ` collison at gcc dot gnu.org

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=bug-61915-4-LgPbP227bX@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@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).