aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKaz Kojima <kkojima@gcc.gnu.org>2004-11-06 13:58:21 +0000
committerKaz Kojima <kkojima@gcc.gnu.org>2004-11-06 13:58:21 +0000
commitb741fa00f60003bd0974704fd911ccb65b2acd19 (patch)
tree858ec6995e09b3db0eaee60f9d22cd4e14cd29ab /gcc
parent68daef2a0a70921afc2cc30a691b979763269cdb (diff)
downloadgcc-b741fa00f60003bd0974704fd911ccb65b2acd19.zip
gcc-b741fa00f60003bd0974704fd911ccb65b2acd19.tar.gz
gcc-b741fa00f60003bd0974704fd911ccb65b2acd19.tar.bz2
sh.c (prepare_move_operands): Emit a use of r12 for non-PIC TLS_MODEL_INITIAL_EXEC case.
* config/sh/sh.c (prepare_move_operands): Emit a use of r12 for non-PIC TLS_MODEL_INITIAL_EXEC case. From-SVN: r90172
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/sh/sh.c6
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b0068e7..33c708b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-11-06 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (prepare_move_operands): Emit a use of r12
+ for non-PIC TLS_MODEL_INITIAL_EXEC case.
+
2004-11-06 Kazu Hirata <kazu@cs.umass.edu>
* expmed.c: Fix a comment typo.
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index f94c0b8..cf8bb41 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -1041,7 +1041,11 @@ prepare_move_operands (rtx operands[], enum machine_mode mode)
case TLS_MODEL_INITIAL_EXEC:
if (! flag_pic)
- emit_insn (gen_GOTaddr2picreg ());
+ {
+ emit_insn (gen_GOTaddr2picreg ());
+ emit_insn (gen_rtx_USE (VOIDmode, gen_rtx_REG (SImode,
+ PIC_REG)));
+ }
tga_op1 = no_new_pseudos ? op0 : gen_reg_rtx (Pmode);
tmp = gen_sym2GOTTPOFF (op1);
emit_insn (gen_tls_initial_exec (tga_op1, tmp));