mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-24 07:59:18 +08:00
rs6000.c (rs6000_legitimize_address): Do not reduce offset by units of 0x10000 for SPE vector modes or modes used...
* config/rs6000/rs6000.c (rs6000_legitimize_address): Do not reduce offset by units of 0x10000 for SPE vector modes or modes used with E500 double instructions. From-SVN: r128837
This commit is contained in:
parent
dcb859a33f
commit
3c1eb9eb6c
@ -1,3 +1,9 @@
|
||||
2007-09-27 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* config/rs6000/rs6000.c (rs6000_legitimize_address): Do not
|
||||
reduce offset by units of 0x10000 for SPE vector modes or modes
|
||||
used with E500 double instructions.
|
||||
|
||||
2007-09-04 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
* simplify-rtx.c (comparison_result): New.
|
||||
|
@ -3381,7 +3381,10 @@ rs6000_legitimize_address (rtx x, rtx oldx ATTRIBUTE_UNUSED,
|
||||
if (GET_CODE (x) == PLUS
|
||||
&& GET_CODE (XEXP (x, 0)) == REG
|
||||
&& GET_CODE (XEXP (x, 1)) == CONST_INT
|
||||
&& (unsigned HOST_WIDE_INT) (INTVAL (XEXP (x, 1)) + 0x8000) >= 0x10000)
|
||||
&& (unsigned HOST_WIDE_INT) (INTVAL (XEXP (x, 1)) + 0x8000) >= 0x10000
|
||||
&& !(SPE_VECTOR_MODE (mode)
|
||||
|| (TARGET_E500_DOUBLE && (mode == DFmode || mode == TFmode
|
||||
|| mode == DImode))))
|
||||
{
|
||||
HOST_WIDE_INT high_int, low_int;
|
||||
rtx sum;
|
||||
|
Loading…
Reference in New Issue
Block a user