aboutsummaryrefslogtreecommitdiff
path: root/gcc
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
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')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/rs6000/rs6000.c4
2 files changed, 7 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f275f99..de17cae 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2013-08-13 Julian Brown <julian@codesourcery.com>
+
+ * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
+ perform invalid legitimization on greater-than-word-size modes for
+ TARGET_E500_DOUBLE.
+
2013-08-13 Vladimir Makarov <vmakarov@redhat.com>
* ira.c (setup_class_translate_array): Use aclass instead of cl
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));