* config/sparc/sparc.md (movsi_pic_label_ref): Avoid creating new
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 21 Jan 2000 20:49:33 +0000 (20:49 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 21 Jan 2000 20:49:33 +0000 (20:49 +0000)
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
gcc/config/sparc/sparc.md

index 373d606..2162863 100644 (file)
@@ -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.
index a8fe0c0..d704965 100644 (file)
 {
   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;
 }")
 
 {
   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;
 }")