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
next prev parent 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).