aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorclyon <clyon@138bc75d-0d04-0410-961f-82ee72b054a4>2015-04-15 08:11:56 +0000
committerclyon <clyon@138bc75d-0d04-0410-961f-82ee72b054a4>2015-04-15 08:11:56 +0000
commit2cdea1ca52e768c520785f7a62cfab910ba16e92 (patch)
tree17dff50d1bf83649b660f87139f8e3e47f73ff42
parentf9a9665a74308b7903d867fec75cebc2cfd4c1d9 (diff)
2015-04-15 Christophe Lyon <christophe.lyon@linaro.org>
Backport from trunk r220348. 2015-02-02 Tejas Belagod <tejas.belagod@arm.com> Andrew Pinski <pinskia@gcc.gnu.org> Jakub Jelinek <jakub@gcc.gnu.org> PR target/64231 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large integer typing for small model. Use IN_RANGE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@222119 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog.linaro11
-rw-r--r--gcc/config/aarch64/aarch64.c4
2 files changed, 13 insertions, 2 deletions
diff --git a/gcc/ChangeLog.linaro b/gcc/ChangeLog.linaro
index 3ac887e0ece..f7d5687f3d5 100644
--- a/gcc/ChangeLog.linaro
+++ b/gcc/ChangeLog.linaro
@@ -1,3 +1,14 @@
+2015-04-15 Christophe Lyon <christophe.lyon@linaro.org>
+
+ Backport from trunk r220348.
+ 2015-02-02 Tejas Belagod <tejas.belagod@arm.com>
+ Andrew Pinski <pinskia@gcc.gnu.org>
+ Jakub Jelinek <jakub@gcc.gnu.org>
+
+ PR target/64231
+ * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
+ integer typing for small model. Use IN_RANGE.
+
2015-04-14 Michael Collison <michael.collison@linaro.org>
Backport from trunk r220399, r220413.
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 4dec289c3ba..05941983c08 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -6780,8 +6780,8 @@ aarch64_classify_symbol (rtx x, rtx offset,
/* Same reasoning as the tiny code model, but the offset cap here is
4G. */
if (SYMBOL_REF_WEAK (x)
- || INTVAL (offset) < (HOST_WIDE_INT) -4294967263
- || INTVAL (offset) > (HOST_WIDE_INT) 4294967264)
+ || !IN_RANGE (INTVAL (offset), HOST_WIDE_INT_C (-4294967263),
+ HOST_WIDE_INT_C (4294967264)))
return SYMBOL_FORCE_TO_MEM;
return SYMBOL_SMALL_ABSOLUTE;