aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/rs6000
diff options
context:
space:
mode:
authorJulian Brown <julian@codesourcery.com>2013-08-13 17:33:09 +0000
committerJulian Brown <jules@gcc.gnu.org>2013-08-13 17:33:09 +0000
commit8ec9249b2a85aba9f44435fbf37ddbcb4d186047 (patch)
tree09aa0f33d17b74ea226193319acfc15fc8ec633e /gcc/config/rs6000
parentbb29e9ff3e42ee0bd23cf85cbce0e459213b19d0 (diff)
downloadgcc-8ec9249b2a85aba9f44435fbf37ddbcb4d186047.zip
gcc-8ec9249b2a85aba9f44435fbf37ddbcb4d186047.tar.gz
gcc-8ec9249b2a85aba9f44435fbf37ddbcb4d186047.tar.bz2
rs6000.c (rs6000_legitimize_reload_address): Don't perform invalid legitimization on greater-than-word-size modes for...
* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't perform invalid legitimization on greater-than-word-size modes for TARGET_E500_DOUBLE. From-SVN: r201701
Diffstat (limited to 'gcc/config/rs6000')
-rw-r--r--gcc/config/rs6000/rs6000.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index c239374..30cd696 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -6930,9 +6930,7 @@ rs6000_legitimize_reload_address (rtx x, enum machine_mode mode,
&& GET_CODE (XEXP (x, 1)) == CONST_INT
&& reg_offset_p
&& !SPE_VECTOR_MODE (mode)
- && !(TARGET_E500_DOUBLE && (mode == DFmode || mode == TFmode
- || mode == DDmode || mode == TDmode
- || mode == DImode))
+ && !(TARGET_E500_DOUBLE && GET_MODE_SIZE (mode) > UNITS_PER_WORD)
&& (!VECTOR_MODE_P (mode) || VECTOR_MEM_NONE_P (mode)))
{
HOST_WIDE_INT val = INTVAL (XEXP (x, 1));