This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
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";