On 08/08/2012 03:07 AM, Richard Sandiford wrote:

It looks like this patch might have been written before:

   http://gcc.gnu.org/ml/gcc-patches/2012-01/msg00756.html

which added:

   /* If we're calling a locally-defined MIPS16 function, we know that
      it will return values in both the "soft-float" and "hard-float"
      registers.  There is no need to use a stub to move the latter
      to the former.  */
   if (fp_code == 0&&  mips16_local_function_p (fn))
     return NULL_RTX;

to cope with this.

Yes, you are right; this patch does predate yours, and I'd missed that you'd already committed another fix for what looks like the same problem.

If so, and out of nervousness :-), did the testcase fail with
current trunk before the patch?

The testcase bundled with the patch is OK on current trunk. But, I have to admit that the "real" testcase that motivated this patch was building Android. It's going to take us a while to figure out whether your patch alone is adequate to make that work, so I'll withdraw this patch pending the outcome of those experiments.

-Sandra

Reply via email to