summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/config/sparc/sparc.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc/config/sparc/sparc.c')
-rw-r--r--contrib/gcc/config/sparc/sparc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/contrib/gcc/config/sparc/sparc.c b/contrib/gcc/config/sparc/sparc.c
index 45862a7..6d2d44f 100644
--- a/contrib/gcc/config/sparc/sparc.c
+++ b/contrib/gcc/config/sparc/sparc.c
@@ -2429,6 +2429,9 @@ int
pic_address_needs_scratch (x)
rtx x;
{
+ if (GET_CODE (x) == LABEL_REF)
+ return 1;
+
/* An address which is a symbolic plus a non SMALL_INT needs a temp reg. */
if (GET_CODE (x) == CONST && GET_CODE (XEXP (x, 0)) == PLUS
&& GET_CODE (XEXP (XEXP (x, 0), 0)) == SYMBOL_REF
OpenPOWER on IntegriCloud