Message ID | 20140106193305.GA23930@ibm-tiger.the-meissners.org |
---|---|
State | New |
Headers | show |
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
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;