Re: apply_result_size vs FUNCTION_VALUE_REGNO_P

2005-04-08 Thread Richard Earnshaw
On Thu, 2005-04-07 at 19:45, Eric Christopher wrote: > On Thu, 2005-04-07 at 16:48 +0200, Eric Botcazou wrote: > > > That was my thoughts too. You could take a look at how I fixed it on > > > ARM. > > > > Thanks. So basically you bypass the apply_result_mode array entirely, > > which > > is st

Re: apply_result_size vs FUNCTION_VALUE_REGNO_P

2005-04-08 Thread Eric Botcazou
> I see that's not the problem. AFAICT from the code that deals with > builtin_apply and builtin_return it looks like untyped_call and > untyped_return should be doing what you expect for the code to save the > values (a quick glance at sparc.md didn't show any problems, but...). Or > is something

Re: apply_result_size vs FUNCTION_VALUE_REGNO_P

2005-04-07 Thread Eric Christopher
> You mean this? > > /* For each hard register, the widest mode object that it can contain. >This will be a MODE_INT mode if the register can hold integers. Otherwise >it will be a MODE_FLOAT or a MODE_CC mode, whichever is valid for the >register. */ > > But take a look at the hea

Re: apply_result_size vs FUNCTION_VALUE_REGNO_P

2005-04-07 Thread Eric Botcazou
> Personally, I think that builtin_apply_args should go away, but what are > your thoughts on the rest of the thread. Richard didn't respond to my > last mail in the thread here: > > http://gcc.gnu.org/ml/gcc-patches/2004-03/msg02184.html I'm with Richard on this, I think reg_raw_mode is not appro

Re: apply_result_size vs FUNCTION_VALUE_REGNO_P

2005-04-07 Thread Eric Christopher
On Thu, 2005-04-07 at 16:48 +0200, Eric Botcazou wrote: > > That was my thoughts too. You could take a look at how I fixed it on > > ARM. > > Thanks. So basically you bypass the apply_result_mode array entirely, which > is still wrong as it is on SPARC? > Personally, I think that builtin_appl

Re: apply_result_size vs FUNCTION_VALUE_REGNO_P

2005-04-07 Thread Richard Earnshaw
On Thu, 2005-04-07 at 15:51, David Edelsohn wrote: > > Richard Earnshaw writes: > > >> I think the change breaks __builtin_apply/__builtin_return on every > >> platform > >> that can return values in several contiguous registers, because the entry > >> for > >> FUNCTION_VALUE_REGNO_P in t

Re: apply_result_size vs FUNCTION_VALUE_REGNO_P

2005-04-07 Thread Eric Botcazou
> That was my thoughts too. You could take a look at how I fixed it on > ARM. Thanks. So basically you bypass the apply_result_mode array entirely, which is still wrong as it is on SPARC? -- Eric Botcazou

Re: apply_result_size vs FUNCTION_VALUE_REGNO_P

2005-04-07 Thread David Edelsohn
> Richard Earnshaw writes: >> I think the change breaks __builtin_apply/__builtin_return on every >> platform >> that can return values in several contiguous registers, because the entry >> for >> FUNCTION_VALUE_REGNO_P in the manual reads: Richard> That was my thoughts too. You could t

Re: apply_result_size vs FUNCTION_VALUE_REGNO_P

2005-04-07 Thread Richard Earnshaw
On Thu, 2005-04-07 at 14:49, Eric Botcazou wrote: > Hi Eric, > > The __builtin_apply/__builtin_return mechanism is broken on SPARC in 4.x > because of > > 2004-03-17 Eric Christopher <[EMAIL PROTECTED]> > > * builtins.c (apply_args_size): Use reg_raw_mode. > (apply_result_size): D

apply_result_size vs FUNCTION_VALUE_REGNO_P

2005-04-07 Thread Eric Botcazou
Hi Eric, The __builtin_apply/__builtin_return mechanism is broken on SPARC in 4.x because of 2004-03-17 Eric Christopher <[EMAIL PROTECTED]> * builtins.c (apply_args_size): Use reg_raw_mode. (apply_result_size): Ditto. http://gcc.gnu.org/ml/gcc-patches/2004-03/msg01422.html