aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaz Kojima <kkojima@gcc.gnu.org>2004-10-30 10:14:56 +0000
committerKaz Kojima <kkojima@gcc.gnu.org>2004-10-30 10:14:56 +0000
commite57a6d4273cb4afd9d010b84ab7371fb162a7197 (patch)
tree99e468d9df79020c356c2e3108818db2e9151f34
parent46097c763954059fdbd8fa5859c3a6a744096d8b (diff)
downloadgcc-e57a6d4273cb4afd9d010b84ab7371fb162a7197.zip
gcc-e57a6d4273cb4afd9d010b84ab7371fb162a7197.tar.gz
gcc-e57a6d4273cb4afd9d010b84ab7371fb162a7197.tar.bz2
sh.c (prepare_move_operands): Use operands[0] for the output rtl if no_new_pseudos is set.
* config/sh/sh.c (prepare_move_operands): Use operands[0] for the output rtl if no_new_pseudos is set. Remove redundant line. From-SVN: r89884
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/sh/sh.c3
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e255638..4307456 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-10-30 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (prepare_move_operands): Use operands[0]
+ for the output rtl if no_new_pseudos is set. Remove redundant
+ line.
+
2004-10-30 Joseph S. Myers <joseph@codesourcery.com>
PR c/16666
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index 83a938e..de99cd5 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -1015,7 +1015,6 @@ prepare_move_operands (rtx operands[], enum machine_mode mode)
{
rtx tga_op1, tga_ret, tmp, tmp2;
-
switch (tls_kind)
{
case TLS_MODEL_GLOBAL_DYNAMIC:
@@ -1043,7 +1042,7 @@ prepare_move_operands (rtx operands[], enum machine_mode mode)
case TLS_MODEL_INITIAL_EXEC:
if (! flag_pic)
emit_insn (gen_GOTaddr2picreg ());
- tga_op1 = gen_reg_rtx (Pmode);
+ tga_op1 = no_new_pseudos ? op0 : gen_reg_rtx (Pmode);
tmp = gen_sym2GOTTPOFF (op1);
emit_insn (gen_tls_initial_exec (tga_op1, tmp));
op1 = tga_op1;