From 7652adb5c699caf28e8139289e6cd8a2f203c0f8 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 21 Jan 2000 21:49:33 +0100 Subject: [PATCH] sparc.md (movsi_pic_label_ref): Avoid creating new pseudos if expanded after first flow. * config/sparc/sparc.md (movsi_pic_label_ref): Avoid creating new pseudos if expanded after first flow. (movdi_pic_label_ref): Likewise. From-SVN: r31549 --- 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 373d606b4936..2162863a4738 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 a8fe0c05e655..d704965144b2 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.47.3