diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/s390/s390.c | 3 |
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, |