s390.c (s390_short_displacement): UNSPEC_GOTNTPOFF displacements are not short.
authorUlrich Weigand <uweigand@de.ibm.com>
Thu, 25 Nov 2004 17:30:25 +0000 (17:30 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Thu, 25 Nov 2004 17:30:25 +0000 (17:30 +0000)
* config/s390/s390.c (s390_short_displacement): UNSPEC_GOTNTPOFF
displacements are not short.

From-SVN: r91303

gcc/ChangeLog
gcc/config/s390/s390.c

index 586b35aa2b95987e45693b7d25bc906c48509068..afb4d60f17333ac6932579ab366bf37e4b0c8153 100644 (file)
@@ -1,3 +1,8 @@
+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
index cca3d87ba8b20ca95bffff8167f6de827e10d656..f624419dd20c4be8f2b3db7195562278f7081f0d 100644 (file)
@@ -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,