aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2017-01-17 17:33:43 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2017-01-17 17:33:43 +0000
commitd25fabdc8e1ee25a077aa628432fad6d63b66b8f (patch)
tree26e178a547b9ab37c67e4ac8cbef02e52b418a48 /gcc/config
parent0e171d5408feafcd56b97c831a99d14e544b98af (diff)
downloadgcc-d25fabdc8e1ee25a077aa628432fad6d63b66b8f.zip
gcc-d25fabdc8e1ee25a077aa628432fad6d63b66b8f.tar.gz
gcc-d25fabdc8e1ee25a077aa628432fad6d63b66b8f.tar.bz2
rs6000.c (rs6000_emit_move): Also use a TOC reference after forcing to constant memory when...
* config/rs6000/rs6000.c (rs6000_emit_move): Also use a TOC reference after forcing to constant memory when the code model is medium. From-SVN: r244541
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/rs6000/rs6000.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 37ad7d0..63c62c3 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -10980,10 +10980,7 @@ rs6000_emit_move (rtx dest, rtx source, machine_mode mode)
if (TARGET_TOC
&& GET_CODE (XEXP (operands[1], 0)) == SYMBOL_REF
- && constant_pool_expr_p (XEXP (operands[1], 0))
- && ASM_OUTPUT_SPECIAL_POOL_ENTRY_P (
- get_pool_constant (XEXP (operands[1], 0)),
- get_pool_mode (XEXP (operands[1], 0))))
+ && use_toc_relative_ref (XEXP (operands[1], 0), mode))
{
rtx tocref = create_TOC_reference (XEXP (operands[1], 0),
operands[0]);