This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Fix one-sized FP arrays returning on MIPS
Okay, but :-)
> (a) The code in calls.c is supposed to handle this case. It really
> is a bug that it doesn't. Regardless of what MIPS does, other ABIs
> could have this requirement, and the code should deal with it
I think patching this code might be dangerous on a release branch. You could
inadvertently introduce ABI changes there. So the safe approach could be to
patch only the mainline.
> (b) You wanted a patch that could be applied to 3.4. That means not
> changing the ABI. I believe that the callee side does _not_ ICE
> on single-element float arrays, so this is definitely an ABI change.
Confirmed, it doesn't ICE on the callee side. However, I don't see how you
could qualify this as an ABI change, since there is currently no Interface
for that case.
> (c) The double case is wrong. Making the float case match it is a
> step backwards, not forwards.
Agreed. However you (rightfully) don't want to change that case on the 3.4.x
branch, so it is now the ABI there. We'd better be consistent I'd say.
> (d) As you said yourself, the patch to change the ABI would be a kludge.
> I don't see why we should prefer that over a patch that addresses
> the ICE directly.
To sum up: less risky, gives better code, brings consistency. And it would
not change the ABI, since we currently have no ABI for that case.