]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
PR target/20611
authoramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 Mar 2005 11:33:05 +0000 (11:33 +0000)
committeramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 Mar 2005 11:33:05 +0000 (11:33 +0000)
* config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Remove inline
label operand.  Remove (use (unspec..)).  Don't emit a label on
the offset word.
* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Don't
generate inline label for load_toc_v4_PIC_1b.
(rs6000_emit_load_toc_table): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@97313 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/rs6000/rs6000.c
gcc/testsuite/ChangeLog

index ff39a5d0b0002008fcb55067b8200e2fc9711b03..152d8e603ea2ff6f2fce7f6aeba024b67f7e0bb6 100644 (file)
@@ -1,6 +1,12 @@
-2005-03-31 Mostafa Hagog <mustafa@il.ibm.com>
+2005-03-31  Alan Modra  <amodra@bigpond.net.au>
 
-        * testsuite/gcc.dg/20050330-1.c: New test.
+       PR target/20611
+       * config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Remove inline
+       label operand.  Remove (use (unspec..)).  Don't emit a label on
+       the offset word.
+       * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Don't
+       generate inline label for load_toc_v4_PIC_1b.
+       (rs6000_emit_load_toc_table): Likewise.
 
 2005-03-31  Kazu Hirata  <kazu@cs.umass.edu>
 
index ffb2167c8e1002db4bb414978545f11b76485c25..95330733b098d002c03cb71300601e90b11007c6 100644 (file)
@@ -2809,21 +2809,16 @@ rs6000_legitimize_tls_address (rtx addr, enum tls_model model)
                rs6000_emit_move (got, gsym, Pmode);
              else
                {
-                 char buf[30];
-                 static int tls_got_labelno = 0;
-                 rtx tempLR, lab, tmp3, mem;
+                 rtx tempLR, tmp3, mem;
                  rtx first, last;
 
-                 ASM_GENERATE_INTERNAL_LABEL (buf, "LTLS", tls_got_labelno++);
-                 lab = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf));
                  tempLR = gen_reg_rtx (Pmode);
                  tmp1 = gen_reg_rtx (Pmode);
                  tmp2 = gen_reg_rtx (Pmode);
                  tmp3 = gen_reg_rtx (Pmode);
                  mem = gen_const_mem (Pmode, tmp1);
 
-                 first = emit_insn (gen_load_toc_v4_PIC_1b (tempLR, lab,
-                                                            gsym));
+                 first = emit_insn (gen_load_toc_v4_PIC_1b (tempLR, gsym));
                  emit_move_insn (tmp1, tempLR);
                  emit_move_insn (tmp2, mem);
                  emit_insn (gen_addsi3 (tmp3, tmp1, tmp2));
@@ -12024,11 +12019,10 @@ rs6000_emit_load_toc_table (int fromprolog)
       rtx temp0 = (fromprolog
                   ? gen_rtx_REG (Pmode, 0)
                   : gen_reg_rtx (Pmode));
-      rtx symF;
 
       if (fromprolog)
        {
-         rtx symL;
+         rtx symF, symL;
 
          ASM_GENERATE_INTERNAL_LABEL (buf, "LCF", rs6000_pic_labelno);
          symF = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf));
@@ -12046,14 +12040,9 @@ rs6000_emit_load_toc_table (int fromprolog)
       else
        {
          rtx tocsym;
-         static int reload_toc_labelno = 0;
 
          tocsym = gen_rtx_SYMBOL_REF (Pmode, toc_label_name);
-
-         ASM_GENERATE_INTERNAL_LABEL (buf, "LCG", reload_toc_labelno++);
-         symF = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (buf));
-
-         emit_insn (gen_load_toc_v4_PIC_1b (tempLR, symF, tocsym));
+         emit_insn (gen_load_toc_v4_PIC_1b (tempLR, tocsym));
          emit_move_insn (dest, tempLR);
          emit_move_insn (temp0, gen_rtx_MEM (Pmode, dest));
        }
index a02d78e5a0755893e1d8c355cca79341df7f179e..4d30efb3dae3296d0b9b21352a3f2319a55af919 100644 (file)
@@ -1,3 +1,7 @@
+2005-03-31 Mostafa Hagog <mustafa@il.ibm.com>
+
+       * gcc.dg/20050330-1.c: New test.
+
 2005-03-30  Devang Patel  <dpatel@apple.com>
 
        * g++.dg/tree-sra/ssa-sra-3.C: New test.