[patch i386]: PR/38900 ICE for fastcall functions with -O2

Richard Henderson rth@redhat.com
Mon Jul 6 18:04:00 GMT 2009


On 07/06/2009 10:11 AM, Kai Tietz wrote:
> Hello,
>
> the first patch I posted just cured the ICE but produces wrong code.
> So I modified patch and add an additional testcase for dllimport'ed
> fastcall method with more then one argument to my patch. The problem
> is that ecx and edx are used by fastcall functions for register
> passing, This patch makes sure that for the case that ecx and edx are
> used for argument passing to sibcalled function, eax is used as call
> register.

This doesn't fix the problem either, it merely moves it around.
You'll now see the same problem for regparm functions instead.

You need to figure out why ecx and edx weren't already live,
which should have forced the register allocator to chose eax
without these changed annotations.


r~



More information about the Gcc-patches mailing list