aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/s390/s390.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 586b35a..afb4d60 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2004-11-25 Ulrich Weigand <uweigand@de.ibm.com>
+ * config/s390/s390.c (s390_short_displacement): UNSPEC_GOTNTPOFF
+ displacements are not short.
+
+2004-11-25 Ulrich Weigand <uweigand@de.ibm.com>
+
* config/s390/s390.c (legitimize_pic_address): Use s390_load_address
to load addresses.
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index cca3d87..f624419 100644
--- a/gcc/config/s390/s390.c
+++ b/gcc/config/s390/s390.c
@@ -1565,7 +1565,8 @@ s390_short_displacement (rtx disp)
/* GOT offset is not OK, the GOT can be large. */
if (GET_CODE (disp) == CONST
&& GET_CODE (XEXP (disp, 0)) == UNSPEC
- && XINT (XEXP (disp, 0), 1) == UNSPEC_GOT)
+ && (XINT (XEXP (disp, 0), 1) == UNSPEC_GOT
+ || XINT (XEXP (disp, 0), 1) == UNSPEC_GOTNTPOFF))
return 0;
/* All other symbolic constants are literal pool references,