diff options
| author | kkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-06 13:58:21 +0000 |
|---|---|---|
| committer | kkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-06 13:58:21 +0000 |
| commit | 9e4e504cb48e7160229828d934083321026f1578 (patch) | |
| tree | 858ec6995e09b3db0eaee60f9d22cd4e14cd29ab | |
| parent | b2ed2f21f10f4d4f29fe3307e84d4f82cd590335 (diff) | |
| download | ppe42-gcc-9e4e504cb48e7160229828d934083321026f1578.tar.gz ppe42-gcc-9e4e504cb48e7160229828d934083321026f1578.zip | |
* config/sh/sh.c (prepare_move_operands): Emit a use of r12
for non-PIC TLS_MODEL_INITIAL_EXEC case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90172 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/config/sh/sh.c | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b0068e7176e..33c708b7791 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 f94c0b83357..cf8bb41fafc 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)); |

