diff options
author | Jakub Jelinek <jakub@redhat.com> | 2000-01-21 21:49:33 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2000-01-21 21:49:33 +0100 |
commit | 7652adb5c699caf28e8139289e6cd8a2f203c0f8 (patch) | |
tree | 43c344503b7c870c3a6439e634568adae3eb5e35 | |
parent | 57e9826105b1535eaf1bfc6aa7da5b9d6f8aa13c (diff) | |
download | gcc-7652adb5c699caf28e8139289e6cd8a2f203c0f8.zip gcc-7652adb5c699caf28e8139289e6cd8a2f203c0f8.tar.gz gcc-7652adb5c699caf28e8139289e6cd8a2f203c0f8.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | 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 <jakub@redhat.com> + + * 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 <rth@cygnus.com> * 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; }") |