(mips_legitimate_address_p): Don't allow register+offset if the offset is large and negative...

* (mips_legitimate_address_p): Don't allow register+offset
	if the offset is large and negative, and we are compiling
	for 64 bit registers.

From-SVN: r35477
This commit is contained in:
Clinton Popetz 2000-08-04 11:52:08 +00:00 committed by Clinton Popetz
parent 2d0de2459f
commit 5896d7940b
2 changed files with 10 additions and 0 deletions

View File

@ -1,3 +1,9 @@
Fri Aug 4 06:53:46 2000 Clinton Popetz <cpopetz@cygnus.com>
* (mips_legitimate_address_p): Don't allow register+offset
if the offset is large and negative, and we are compiling
for 64 bit registers.
2000-08-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
* gencodes.c (main): Define CODE_FOR_nothing as the last possible

View File

@ -1329,6 +1329,10 @@ mips_legitimate_address_p (mode, xinsn, strict)
&& (!TARGET_EMBEDDED_PIC
|| code1 != CONST
|| GET_CODE (XEXP (xplus1, 0)) != MINUS)
/* When assembling for machines with 64 bit registers,
the assembler will not sign-extend the constant "foo"
in "la x, foo(x)" */
&& (!TARGET_64BIT || (INTVAL (xplus1) > 0))
&& !TARGET_MIPS16)
return 1;
}