diff mbox

Fix PR57386 for 4.8/4.9 on powerpc

Message ID 20140106193305.GA23930@ibm-tiger.the-meissners.org
State New
Headers show

Commit Message

Michael Meissner Jan. 6, 2014, 7:33 p.m. UTC
I could have sworn I sent this patch out in mid-December, but I don't see it,
so I'm resending this now.

This patch fixes the problem that breaks some code on the SPE.  I have patches
for 4.8 and 4.9.  Roland says that it fixes the problem in 4.8.  In 4.9 there
are other unrelated problems that Roland is currently working on.

I tested these patches on powerpc linux, and I did not see a regression.  Are
these patches ok to check into both the 4.8 and 4.9 branches?

2013-12-12  Roland Stigge  <stigge@antcom.de>
	    Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
	Only check TFmode for SPE constants.  Don't check TImode or
	TDmode.

Comments

David Edelsohn Jan. 7, 2014, 3:43 a.m. UTC | #1
On Mon, Jan 6, 2014 at 2:33 PM, Michael Meissner
<meissner@linux.vnet.ibm.com> wrote:
> I could have sworn I sent this patch out in mid-December, but I don't see it,
> so I'm resending this now.
>
> This patch fixes the problem that breaks some code on the SPE.  I have patches
> for 4.8 and 4.9.  Roland says that it fixes the problem in 4.8.  In 4.9 there
> are other unrelated problems that Roland is currently working on.
>
> I tested these patches on powerpc linux, and I did not see a regression.  Are
> these patches ok to check into both the 4.8 and 4.9 branches?
>
> 2013-12-12  Roland Stigge  <stigge@antcom.de>
>             Michael Meissner  <meissner@linux.vnet.ibm.com>
>
>         * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
>         Only check TFmode for SPE constants.  Don't check TImode or
>         TDmode.

Okay.

Thanks, David
diff mbox

Patch

Index: gcc/config/rs6000/rs6000.c
===================================================================
--- gcc/config/rs6000/rs6000.c	(revision 205902)
+++ gcc/config/rs6000/rs6000.c	(working copy)
@@ -5428,12 +5428,13 @@  rs6000_legitimate_offset_address_p (enum
       break;
 
     case TFmode:
-    case TDmode:
-    case TImode:
       if (TARGET_E500_DOUBLE)
 	return (SPE_CONST_OFFSET_OK (offset)
 		&& SPE_CONST_OFFSET_OK (offset + 8));
+      /* fall through */
 
+    case TDmode:
+    case TImode:
       extra = 8;
       if (!worst_case)
 	break;