From: Segher Boessenkool Date: Wed, 12 Sep 2018 18:01:11 +0000 (+0200) Subject: Backport patch for PR86989 to 7 X-Git-Tag: releases/gcc-7.4.0~164 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b08fb37a276895d87db157c4e5cc51e2515070d5;p=thirdparty%2Fgcc.git Backport patch for PR86989 to 7 2018-09-12 Segher Boessenkool Backport from trunk 2018-08-24 Segher Boessenkool PR target/86989 * config/rs6000/rs6000.c (toc_relative_expr_p): Check that the base is the TOC register. From-SVN: r264247 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d87df92a4069..6014ee073592 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2018-09-12 Segher Boessenkool + + Backport from trunk + 2018-08-24 Segher Boessenkool + + PR target/86989 + * config/rs6000/rs6000.c (toc_relative_expr_p): Check that the base is + the TOC register. + 2018-09-12 Andreas Krebbel Backport from mainline diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 61b3f51f2fae..365f006af626 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -8840,7 +8840,9 @@ toc_relative_expr_p (const_rtx op, bool strict) } return (GET_CODE (tocrel_base) == UNSPEC - && XINT (tocrel_base, 1) == UNSPEC_TOCREL); + && XINT (tocrel_base, 1) == UNSPEC_TOCREL + && REG_P (XVECEXP (tocrel_base, 0, 1)) + && REGNO (XVECEXP (tocrel_base, 0, 1)) == TOC_REGISTER); } /* Return true if X is a constant pool address, and also for cmodel=medium