public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "vmakarov at redhat dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug middle-end/37243] [4.4 Regression] IRA causes wrong code generation
Date: Fri, 29 Aug 2008 15:56:00 -0000	[thread overview]
Message-ID: <20080829155516.4220.qmail@sourceware.org> (raw)
In-Reply-To: <bug-37243-682@http.gcc.gnu.org/bugzilla/>



------- Comment #12 from vmakarov at redhat dot com  2008-08-29 15:55 -------
Here is the analysis of regressions on pr36222 and pr36246.  PR36222 contains
the following code:
p64:V4SI=vec_concat (p66:V2SI, p65:V2SI) dead p66 and p65
xmm0:V2DI=subreg:V2DI (p64:V4SI)

IRA allocates p65, p66, and p64 in this order.  p65 gets xmm0, p66 gets xmm1,
and p64 gets xmm0.  Reload generates additional move insn because p66 and p64
should be the same operand according to the 1st insn constraints.

IRA uses copies to propagate preferences.  p66 and pc64, p66 and p64 connected
by copies with same frequencies as dying pseudos.  IRA did not create copy
connecting p66 and p64 as operands should be in the same register according to
the insn constraints because IRA does not create copies for allocnos with
different modes.

Preference of xmm0 was not propagated to p64 because IRA does not create copies
for subregs.

Another pitfall of IRA, it propagates preferences only from allocnos *directly*
connected by copies.

The patch solving the problem will be sent soon.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37243


  parent reply	other threads:[~2008-08-29 15:56 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-26 15:01 [Bug middle-end/37243] New: [4.4 Regression] Revision 139590 caused many regressions hjl dot tools at gmail dot com
2008-08-26 15:08 ` [Bug middle-end/37243] " hjl dot tools at gmail dot com
2008-08-26 15:38 ` rguenth at gcc dot gnu dot org
2008-08-26 18:23 ` hjl dot tools at gmail dot com
2008-08-26 20:04 ` hjl dot tools at gmail dot com
2008-08-26 20:11 ` hjl dot tools at gmail dot com
2008-08-26 20:46 ` pinskia at gcc dot gnu dot org
2008-08-26 22:25 ` hjl dot tools at gmail dot com
2008-08-27  0:06 ` hjl dot tools at gmail dot com
2008-08-27  8:09 ` Joey dot ye at intel dot com
2008-08-27  8:12 ` Joey dot ye at intel dot com
2008-08-27 13:28 ` dominiq at lps dot ens dot fr
2008-08-27 16:35 ` vmakarov at redhat dot com
2008-08-28  6:16 ` Joey dot ye at intel dot com
2008-08-29  4:39 ` [Bug middle-end/37243] [4.4 Regression] IRA causes wrong code generation pinskia at gcc dot gnu dot org
2008-08-29 15:56 ` vmakarov at redhat dot com [this message]
2008-08-29 16:19 ` vmakarov at gcc dot gnu dot org
2008-08-29 18:25 ` hjl dot tools at gmail dot com
2008-08-29 19:48 ` pinskia at gcc dot gnu dot org
2008-08-30 18:53 ` vmakarov at redhat dot com
2008-09-02 18:18 ` hjl at gcc dot gnu dot org
2008-09-02 18:25 ` hjl at gcc dot gnu dot org
2008-09-02 18:30 ` hjl at gcc dot gnu dot org
2008-09-02 20:41 ` hjl dot tools at gmail dot com
2008-09-02 23:53 ` hjl dot tools at gmail dot com
2008-09-03 16:06 ` hjl dot tools at gmail dot com
2008-09-03 19:46 ` hjl dot tools at gmail dot com
2008-09-03 20:05 ` hjl dot tools at gmail dot com
2008-09-03 20:15 ` vmakarov at gcc dot gnu dot org
2008-09-03 20:23 ` vmakarov at gcc dot gnu dot org
2008-09-04  5:02 ` hjl at gcc dot gnu dot org
2008-09-04  5:47 ` hjl dot tools at gmail dot com
2008-09-04 13:36 ` hjl dot tools at gmail dot com
2008-09-04 15:48 ` hjl at gcc dot gnu dot org
2008-09-04 18:50 ` rsandifo at gcc dot gnu dot org
2008-09-04 21:06 ` hjl dot tools at gmail dot com

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=20080829155516.4220.qmail@sourceware.org \
    --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).