aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMichael Meissner <meissner@linux.vnet.ibm.com>2016-02-04 00:39:34 +0000
committerMichael Meissner <meissner@gcc.gnu.org>2016-02-04 00:39:34 +0000
commit5a01e0c7618b26569aee56a9443b71d501c69a50 (patch)
tree03c7eadbb035751ea90b2c1d2ac63aa7d3a5e976 /gcc
parent20279ed091157bb76a8efc45870479a4d151d183 (diff)
downloadgcc-5a01e0c7618b26569aee56a9443b71d501c69a50.zip
gcc-5a01e0c7618b26569aee56a9443b71d501c69a50.tar.gz
gcc-5a01e0c7618b26569aee56a9443b71d501c69a50.tar.bz2
re PR target/69461 (ICE in lra_set_insn_recog_data, at lra.c:964)
2016-02-03 Michael Meissner <meissner@linux.vnet.ibm.com> Vladimir Makarov <vmakarov@redhat.com> PR target/69461 * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko in validating fused toc addresses. Co-Authored-By: Vladimir Makarov <vmakarov@redhat.com> From-SVN: r233120
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/rs6000/rs6000.c3
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 142e7a4..f379bc4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2016-02-03 Michael Meissner <meissner@linux.vnet.ibm.com>
+ Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/69461
+ * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko
+ in validating fused toc addresses.
+
2016-02-03 Jakub Jelinek <jakub@redhat.com>
PR c/69627
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 6f382cb..c7e0634 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -8399,7 +8399,8 @@ rs6000_legitimate_address_p (machine_mode mode, rtx x, bool reg_ok_strict)
&& legitimate_constant_pool_address_p (x, mode,
reg_ok_strict || lra_in_progress))
return 1;
- if (reg_offset_p && reg_addr[mode].fused_toc && toc_fusion_mem_wrapped (x, mode))
+ if (reg_offset_p && reg_addr[mode].fused_toc && GET_CODE (x) == UNSPEC
+ && XINT (x, 1) == UNSPEC_FUSION_ADDIS)
return 1;
/* For TImode, if we have load/store quad and TImode in VSX registers, only
allow register indirect addresses. This will allow the values to go in