From 4f8dbd340cd7e0181a24666bb82ea9fea5a78565 Mon Sep 17 00:00:00 2001 From: Andrew Pinski Date: Wed, 10 Aug 2005 17:53:52 +0000 Subject: [PATCH] darwin.c (machopic_indirect_data_reference): Use a new register for the high part when generating dynamic-no-pic code. 2005-08-10 Andrew Pinski * 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 | 5 +++++ gcc/config/darwin.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4de14deb651..6a6159bb75c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-08-10 Andrew Pinski + + * 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 * config.gcc (i[34567]86-*-linux*): Add i386/t-crtfm to tm-file. diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c index cac61e403c9..fd503efc950 100644 --- a/gcc/config/darwin.c +++ b/gcc/config/darwin.c @@ -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 (); -- 2.30.2