From bf7619bc588029ca47cf6d4b157168b10417d026 Mon Sep 17 00:00:00 2001 From: jakub Date: Fri, 21 Jan 2000 20:49:33 +0000 Subject: [PATCH] * config/sparc/sparc.md (movsi_pic_label_ref): Avoid creating new pseudos if expanded after first flow. (movdi_pic_label_ref): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31549 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/config/sparc/sparc.md | 24 ++++++++++++++++++++---- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 373d606..2162863 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2000-01-21 Jakub Jelinek + + * config/sparc/sparc.md (movsi_pic_label_ref): Avoid creating new + pseudos if expanded after first flow. + (movdi_pic_label_ref): Likewise. + 2000-01-20 Richard Henderson * jump.c (jump_optimize_1): Don't do addr_vec optimizations at -O0. diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md index a8fe0c0..d704965 100644 --- a/gcc/config/sparc/sparc.md +++ b/gcc/config/sparc/sparc.md @@ -2273,8 +2273,16 @@ { current_function_uses_pic_offset_table = 1; operands[2] = gen_rtx_SYMBOL_REF (Pmode, \"_GLOBAL_OFFSET_TABLE_\"); - operands[3] = gen_reg_rtx (SImode); - operands[4] = gen_reg_rtx (SImode); + if (no_new_pseudos) + { + operands[3] = operands[0]; + operands[4] = operands[0]; + } + else + { + operands[3] = gen_reg_rtx (SImode); + operands[4] = gen_reg_rtx (SImode); + } operands[5] = pic_offset_table_rtx; }") @@ -2467,8 +2475,16 @@ { current_function_uses_pic_offset_table = 1; operands[2] = gen_rtx_SYMBOL_REF (Pmode, \"_GLOBAL_OFFSET_TABLE_\"); - operands[3] = gen_reg_rtx (DImode); - operands[4] = gen_reg_rtx (DImode); + if (no_new_pseudos) + { + operands[3] = operands[0]; + operands[4] = operands[0]; + } + else + { + operands[3] = gen_reg_rtx (DImode); + operands[4] = gen_reg_rtx (DImode); + } operands[5] = pic_offset_table_rtx; }") -- 2.7.4