]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
darwin.c (machopic_indirect_data_reference): Use a new register for the high part...
authorAndrew Pinski <pinskia@physics.uc.edu>
Wed, 10 Aug 2005 17:53:52 +0000 (17:53 +0000)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Wed, 10 Aug 2005 17:53:52 +0000 (10:53 -0700)
2005-08-10  Andrew Pinski  <pinskia@physics.uc.edu>

        * config/darwin.c (machopic_indirect_data_reference): Use a new register
        for the high part when generating dynamic-no-pic code.

From-SVN: r102955

gcc/ChangeLog
gcc/config/darwin.c

index 4de14deb6518d49665344dcf71797c24ee723c27..6a6159bb75c70ddd6d4b3cc993ebda8d376f6b64 100644 (file)
@@ -1,3 +1,8 @@
+2005-08-10  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * config/darwin.c (machopic_indirect_data_reference): Use a new register
+       for the high part when generating dynamic-no-pic code.
+
 2005-08-10  H.J. Lu  <hongjiu.lu@intel.com>
 
        * config.gcc (i[34567]86-*-linux*): Add i386/t-crtfm to tm-file.
index cac61e403c9ac12b5e022d3517eaeaf82cac775f..fd503efc9500e327bf6e078c89d0fa15fd3715a5 100644 (file)
@@ -419,8 +419,10 @@ machopic_indirect_data_reference (rtx orig, rtx reg)
       if (defined && MACHO_DYNAMIC_NO_PIC_P)
        {
 #if defined (TARGET_TOC)
-         emit_insn (gen_macho_high (reg, orig));
-         emit_insn (gen_macho_low (reg, reg, orig));
+         /* Create a new register for CSE opportunities.  */
+         rtx hi_reg = (no_new_pseudos ? reg : gen_reg_rtx (Pmode));
+         emit_insn (gen_macho_high (hi_reg, orig));
+         emit_insn (gen_macho_low (reg, hi_reg, orig));
 #else
           /* some other cpu -- writeme!  */
           gcc_unreachable ();