public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Bernd Schmidt <bschmidt@redhat.com>
To: Segher Boessenkool <segher@kernel.crashing.org>
Cc: Richard Biener <richard.guenther@gmail.com>,
	       Michael Meissner <meissner@linux.vnet.ibm.com>,
	       GCC Patches <gcc-patches@gcc.gnu.org>,
	       David Edelsohn <dje.gcc@gmail.com>,
	       Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Subject: Re: [PATCH], PowerPC support to enable -mlra and/or -mfloat128
Date: Tue, 12 Jul 2016 15:17:00 -0000	[thread overview]
Message-ID: <0c9127b4-5320-a5be-b9fd-2c50451b34c3@redhat.com> (raw)
In-Reply-To: <9614013f-5daf-a271-f476-b4bd1adab9fd@redhat.com>

On 07/12/2016 02:48 PM, Bernd Schmidt wrote:
> No. You can reproduce issues with Blackfin easily by enabling LRA for
> it, and I described the C6X issues when the LRA patches were posted for
> review.

That was here:
   https://gcc.gnu.org/ml/gcc-patches/2012-10/msg00235.html

The Blackfin thing happens frequently with -fomit-frame-pointer when we have

(insn 66 64 70 8 (set (reg:SI 96 [ ivtmp.32 ])
         (reg/f:SI 15 FP)) 19 {*movsi_insn}

Which LRA transforms to an invalid insn:

(insn 66 64 70 8 (set (reg:SI 15 FP [orig:96 ivtmp.32 ] [96])
         (plus:SI (reg/f:SI 14 SP)
             (const_int 4 [0x4]))) 50 {addsi3}
      (expr_list:REG_EQUAL (reg/f:SI 15 FP)
         (nil)))

Haven't fully debugged it but it looks like an instance of the same 
problem: not using the correct register numbers in elimination. An FP+FP 
addition would be fine (which is how I'm guessing we arrived at this 
pattern), but once you substitute the real register number you get an 
invalid insn. So LRA is somewhat defective in this area.


Bernd

  reply	other threads:[~2016-07-12 15:17 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-11 20:07 Michael Meissner
2016-07-11 21:25 ` Michael Meissner
2016-07-20 17:04   ` [PATCH #2], " Michael Meissner
2016-07-12 10:29 ` [PATCH], " Richard Biener
2016-07-12 11:19   ` Segher Boessenkool
2016-07-12 11:21   ` Bernd Schmidt
2016-07-12 11:31     ` Richard Biener
2016-07-12 12:16       ` Segher Boessenkool
2016-07-12 12:40         ` Bernd Schmidt
2016-07-12 12:45           ` Segher Boessenkool
2016-07-12 12:48             ` Bernd Schmidt
2016-07-12 15:17               ` Bernd Schmidt [this message]
2016-07-12 16:31                 ` Segher Boessenkool
2016-07-12 16:57                   ` Bernd Schmidt
2016-07-12 12:55           ` Segher Boessenkool
2016-07-12 19:44     ` Michael Meissner
2016-07-12 21:20       ` Segher Boessenkool

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=0c9127b4-5320-a5be-b9fd-2c50451b34c3@redhat.com \
    --to=bschmidt@redhat.com \
    --cc=dje.gcc@gmail.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=meissner@linux.vnet.ibm.com \
    --cc=richard.guenther@gmail.com \
    --cc=segher@kernel.crashing.org \
    --cc=wschmidt@linux.vnet.ibm.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).