arm.c (thumb_legitimate_addres_p): Allow any constant offset from the soft-frame, argument and virtual registers.

* arm.c (thumb_legitimate_addres_p): Allow any constant offset
	from the soft-frame, argument and virtual registers.

From-SVN: r118481
This commit is contained in:
Richard Earnshaw 2006-11-04 14:26:34 +00:00 committed by Richard Earnshaw
parent 50d0a89920
commit c5289e454b
2 changed files with 9 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2006-11-04 Richard Earnshaw <rearnsha@arm.com>
* arm.c (thumb_legitimate_addres_p): Allow any constant offset
from the soft-frame, argument and virtual registers.
2006-11-04 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (*movxf_nointeger, *movxf_integer): Enable

View File

@ -3799,7 +3799,10 @@ thumb_legitimate_address_p (enum machine_mode mode, rtx x, int strict_p)
return 1;
else if (GET_CODE (XEXP (x, 0)) == REG
&& REGNO (XEXP (x, 0)) == FRAME_POINTER_REGNUM
&& (REGNO (XEXP (x, 0)) == FRAME_POINTER_REGNUM
|| REGNO (XEXP (x, 0)) == ARG_POINTER_REGNUM
|| (REGNO (XEXP (x, 0)) >= FIRST_VIRTUAL_REGISTER
&& REGNO (XEXP (x, 0)) <= LAST_VIRTUAL_REGISTER))
&& GET_MODE_SIZE (mode) >= 4
&& GET_CODE (XEXP (x, 1)) == CONST_INT
&& (INTVAL (XEXP (x, 1)) & 3) == 0)