public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "jakub at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug rtl-optimization/55829] [4.8 Regression] ICE: in curr_insn_transform, at lra-constraints.c:3069 with -msse3
Date: Tue, 08 Jan 2013 09:58:00 -0000	[thread overview]
Message-ID: <bug-55829-4-oss6lMZqDO@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-55829-4@http.gcc.gnu.org/bugzilla/>


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

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-01-08 09:58:05 UTC ---
Created attachment 29103
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29103
gcc48-pr55829.patch

Yeah, comparing the vec_dupv2df and *vec_concatv2df patterns shows that for the
former we accept for sse3 but not avx x <- 0, x <- x and x <- m, while for the
latter only x <- 0, x and x <- m, 1 and not x <- x, 1, when movddup has 2
different register arguments.  With this change it doesn't ICE anymore, even
when it actually doesn't emit that form of movddup (the vec_concat of 2x
(reg:DF 62) pseudo where (reg:DF 62) is assigned r12 (it is used in the
following loop which contains calls), it is LRA reloaded into two stores of r12
into mem, once loaded into xmm1 and used from mem, i.e. for whatever reason the
x <- 0, m alternative is chosen, but postreload then turns it into movddup with
both arguments xmm1 (x <- 0, 0).

I think this patch can be useful and does give the RA more freedom, but it is
unclear whether it doesn't make some LRA bug latent.  Vlad?


  parent reply	other threads:[~2013-01-08  9:58 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-30 15:17 [Bug rtl-optimization/55829] New: " zsojka at seznam dot cz
2012-12-31 10:29 ` [Bug rtl-optimization/55829] " pinskia at gcc dot gnu.org
2013-01-04  3:39 ` pinskia at gcc dot gnu.org
2013-01-07 15:45 ` rguenth at gcc dot gnu.org
2013-01-08  9:58 ` jakub at gcc dot gnu.org [this message]
2013-01-08 10:03 ` jakub at gcc dot gnu.org
2013-01-08 16:10 ` vmakarov at redhat dot com
2013-01-08 16:28 ` ubizjak at gmail dot com
2013-01-09 16:33 ` ubizjak at gmail dot com
2013-01-09 17:12 ` ubizjak at gmail dot com
2013-01-09 17:50 ` jakub at gcc dot gnu.org
2013-01-09 17:52 ` ubizjak at gmail dot com
2013-01-09 18:16 ` vmakarov 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-55829-4-oss6lMZqDO@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).