]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
sparc.md (movsi_pic_label_ref): Avoid creating new pseudos if expanded after first...
authorJakub Jelinek <jakub@redhat.com>
Fri, 21 Jan 2000 20:49:33 +0000 (21:49 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 21 Jan 2000 20:49:33 +0000 (21:49 +0100)
* 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
gcc/config/sparc/sparc.md

index 373d606b49365b0e257252c1f06d3e0ddd46b3c3..2162863a473885c70ba20ff6d34e64d2e794d173 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 a8fe0c05e6555f920a1c540bf15c0bc2b616d947..d704965144b29ae4d45fb6172aac99d04d372b9d 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;
 }")