This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [tree-ssa] -longcall branch islands for Darwin/PPC


Andrew Pinski wrote:


On Dec 5, 2003, at 00:26, Andreas Tobler wrote:


Stuart Hastings wrote:

    Given that all of the changes are local to the rs6000 port, if
Apple wants this in GCC 3.4, I'm willing to approve it there as well,
unless Geoff has some concerns.



I have no objection.

Thank-you both.
Apple would like to have this in 3.4, so I'll commit it to the trunk later today (unless someone objects). We're content for it to migrate into tree-ssa via a regular merge.


Did you test it on trunk ?


I bet he did not even test on any thing other than powerpc-apple-darwin (he could have
done an easy cross compiler and see this issue)

I doubt if this works, the #ifdef in insn-output.c:


from the generated insn-output.c

#ifdef TARGET_MACHO
  return output_call(insn, operands, 0, 2);
#else
  return (DEFAULT_ABI == ABI_V4 && flag_pic) ? "bl %z0@plt" : "bl %z0";
#endif


Shouldn't it be something like this in rs6000.md below?


Note, I did not test on darwin yet. Too many other projects ongoing.
With this hack I get past stage1 on ppclinux.

Andreas

RCS file: /cvs/gcc/gcc/gcc/config/rs6000/rs6000.md,v
retrieving revision 1.274
diff -u -r1.274 rs6000.md
--- config/rs6000/rs6000.md     5 Dec 2003 00:44:57 -0000       1.274
+++ config/rs6000/rs6000.md     5 Dec 2003 09:06:35 -0000
@@ -10586,7 +10586,7 @@
   else if (INTVAL (operands[2]) & CALL_V4_CLEAR_FP_ARGS)
     output_asm_insn ("creqv 6,6,6", operands);

-#ifdef TARGET_MACHO
+#if TARGET_MACHO
   return output_call(insn, operands, 0, 2);
 #else
   return (DEFAULT_ABI == ABI_V4 && flag_pic) ? "bl %z0@plt" : "bl %z0";
@@ -10631,7 +10631,7 @@
   else if (INTVAL (operands[3]) & CALL_V4_CLEAR_FP_ARGS)
     output_asm_insn ("creqv 6,6,6", operands);

-#ifdef TARGET_MACHO
+#if TARGET_MACHO
   return output_call(insn, operands, 1, 3);
 #else
   return (DEFAULT_ABI == ABI_V4 && flag_pic) ? "bl %z1@plt" : "bl %z1";







Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]