aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-12-02 18:08:09 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1994-12-02 18:08:09 -0500
commitcb06d06aeec935b4838aaae779bd47e3529b7cd5 (patch)
treee121a515f879fc1cadce0879305761aa0571c597
parent7fec4abdf4bdd3f9778d22de2dc23d81a1094ef5 (diff)
downloadgcc-cb06d06aeec935b4838aaae779bd47e3529b7cd5.zip
gcc-cb06d06aeec935b4838aaae779bd47e3529b7cd5.tar.gz
gcc-cb06d06aeec935b4838aaae779bd47e3529b7cd5.tar.bz2
(EXTRA_CONSTRAINT): Correctly check for SYMBOL_REF referring to the
TOC. From-SVN: r8599
-rw-r--r--gcc/config/rs6000/rs6000.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index e2858f6..59fbca6 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -685,7 +685,8 @@ enum reg_class { NO_REGS, BASE_REGS, GENERAL_REGS, FLOAT_REGS,
#define EXTRA_CONSTRAINT(OP, C) \
((C) == 'Q' ? GET_CODE (OP) == MEM && GET_CODE (XEXP (OP, 0)) == REG \
- : (C) == 'R' ? GET_CODE (OP) == SYMBOL_REF && CONSTANT_POOL_ADDRESS_P (OP)\
+ : (C) == 'R' ? (GET_CODE (OP) == SYMBOL_REF \
+ && LEGITIMATE_CONSTANT_POOL_ADDRESS_P (OP)) \
: 0)
/* Given an rtx X being reloaded into a reg required to be