public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH], PR 69461, PowerPC specific fix for toc-fusion
@ 2016-02-03 23:34 Michael Meissner
  2016-02-04  0:17 ` David Edelsohn
  0 siblings, 1 reply; 2+ messages in thread
From: Michael Meissner @ 2016-02-03 23:34 UTC (permalink / raw)
  To: gcc-patches, dje.gcc

[-- Attachment #1: Type: text/plain, Size: 816 bytes --]

In PR 69461, Vlad mentioned that in rs6000_legitimate_address_p, I was trying
to validate an address for TOC fusion, but I was using a predicate that looked
for a MEM instead of an address.

I bootstrapped the compiler on a little endian power8 and there were no
regressions.  In addition, Segher Boessenkool, says that with Vlad's patch and
this patch, it fixes a lot of the errors that he was looking at.

Is the patch ok to check in?

2016-02-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
	    Vladimir Makarov  <vmakarov@redhat.com>

	PR target/69461
	* config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko
	in validating fused toc addresses.

-- 
Michael Meissner, IBM
IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA
email: meissner@linux.vnet.ibm.com, phone: +1 (978) 899-4797

[-- Attachment #2: gcc-power9.patch058b --]
[-- Type: text/plain, Size: 753 bytes --]

Index: gcc/config/rs6000/rs6000.c
===================================================================
--- gcc/config/rs6000/rs6000.c	(revision 233107)
+++ gcc/config/rs6000/rs6000.c	(working copy)
@@ -8399,7 +8399,8 @@ rs6000_legitimate_address_p (machine_mod
       && legitimate_constant_pool_address_p (x, mode,
 					     reg_ok_strict || lra_in_progress))
     return 1;
-  if (reg_offset_p && reg_addr[mode].fused_toc && toc_fusion_mem_wrapped (x, mode))
+  if (reg_offset_p && reg_addr[mode].fused_toc && GET_CODE (x) == UNSPEC
+      && XINT (x, 1) == UNSPEC_FUSION_ADDIS)
     return 1;
   /* For TImode, if we have load/store quad and TImode in VSX registers, only
      allow register indirect addresses.  This will allow the values to go in

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH], PR 69461, PowerPC specific fix for toc-fusion
  2016-02-03 23:34 [PATCH], PR 69461, PowerPC specific fix for toc-fusion Michael Meissner
@ 2016-02-04  0:17 ` David Edelsohn
  0 siblings, 0 replies; 2+ messages in thread
From: David Edelsohn @ 2016-02-04  0:17 UTC (permalink / raw)
  To: Michael Meissner, GCC Patches

On Wed, Feb 3, 2016 at 6:34 PM, Michael Meissner
<meissner@linux.vnet.ibm.com> wrote:
> In PR 69461, Vlad mentioned that in rs6000_legitimate_address_p, I was trying
> to validate an address for TOC fusion, but I was using a predicate that looked
> for a MEM instead of an address.
>
> I bootstrapped the compiler on a little endian power8 and there were no
> regressions.  In addition, Segher Boessenkool, says that with Vlad's patch and
> this patch, it fixes a lot of the errors that he was looking at.
>
> Is the patch ok to check in?
>
> 2016-02-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
>             Vladimir Makarov  <vmakarov@redhat.com>
>
>         PR target/69461
>         * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko
>         in validating fused toc addresses.

Okay.

Thanks, David

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-02-04  0:17 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-03 23:34 [PATCH], PR 69461, PowerPC specific fix for toc-fusion Michael Meissner
2016-02-04  0:17 ` David Edelsohn

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).