mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-22 08:59:10 +08:00
rs6000.c (rs6000_legitimate_offset_address_p): Accept TOC addresses.
* config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p): Accept TOC addresses. From-SVN: r83736
This commit is contained in:
parent
585539a1e9
commit
60cdabab22
@ -1,3 +1,8 @@
|
||||
2004-06-27 David Edelsohn <edelsohn@gnu.org>
|
||||
|
||||
* config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
|
||||
Accept TOC addresses.
|
||||
|
||||
2004-06-27 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
* config/s390/s390-protos.h (s390_load_got): Update prototype.
|
||||
|
@ -2625,9 +2625,6 @@ toc_relative_expr_p (rtx op)
|
||||
return constant_pool_expr_1 (op, &have_sym, &have_toc) && have_toc;
|
||||
}
|
||||
|
||||
/* SPE offset addressing is limited to 5-bits worth of double words. */
|
||||
#define SPE_CONST_OFFSET_OK(x) (((x) & ~0xf8) == 0)
|
||||
|
||||
bool
|
||||
legitimate_constant_pool_address_p (rtx x)
|
||||
{
|
||||
@ -2647,6 +2644,9 @@ legitimate_small_data_p (enum machine_mode mode, rtx x)
|
||||
&& small_data_operand (x, mode));
|
||||
}
|
||||
|
||||
/* SPE offset addressing is limited to 5-bits worth of double words. */
|
||||
#define SPE_CONST_OFFSET_OK(x) (((x) & ~0xf8) == 0)
|
||||
|
||||
bool
|
||||
rs6000_legitimate_offset_address_p (enum machine_mode mode, rtx x, int strict)
|
||||
{
|
||||
@ -2658,6 +2658,8 @@ rs6000_legitimate_offset_address_p (enum machine_mode mode, rtx x, int strict)
|
||||
return false;
|
||||
if (!INT_REG_OK_FOR_BASE_P (XEXP (x, 0), strict))
|
||||
return false;
|
||||
if (legitimate_constant_pool_address_p (x))
|
||||
return true;
|
||||
if (GET_CODE (XEXP (x, 1)) != CONST_INT)
|
||||
return false;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user