var_args for rs6000 backend
Yao qi
qiyaobit@hotmail.com
Fri Sep 9 07:09:00 GMT 2005
>From: Andrew Pinski <pinskia@physics.uc.edu>
>To: qiyaobit@hotmail.com (Yao qi)
>CC: ian@airs.com, gcc@gcc.gnu.org
>Subject: Re: var_args for rs6000 backend
>Date: Fri, 9 Sep 2005 01:51:58 -0400 (EDT)
>
> > BTW, I am concerned about the value of TARGET_HARD_FLOAT and
>TARGET_FPRS,
> > I think both of them is 1 here, because I built GCC natively on POWER,
>but
> > when I trace
> > it , I found it skips this condation statement as if ARGET_HARD_FLOAT is
>0,
> > I do not know
> > why.
> >
> > I have searched TARGET_HARD_FLOAT in GCC internals for GCC 3.3.5 and
>found
> > nothing about it. Could anyone tell me which file define these two
>macros?
> >
> > I grep it in gcc/config/rs6000/ but it seems that there is no file
>define
> > it. Could
> > anybody here have a look at it and verify it for me, any comments are
>highly
> > appreicated.
>
>TARGET_HARD_FLOAT is defined by the options generating file. So it is
>defined in rs6000.opt:
>mhard-float
>Target Report RejectNegative InverseMask(SOFT_FLOAT, HARD_FLOAT)
>Use hardware floating point
Do you mean the value of TARGET_HARD_FLOAT is *1* when option -mhard-float
is specified according to rs6000.opt ?
I tried to specify this option and it seems useless to set
TARGET_HARD_FLOAT.
If so, that is to say, in rs6000_gimplify_va_arg() , the condations
statement in
line 5734,
5733
5734 if (TARGET_HARD_FLOAT && TARGET_FPRS
5735 && (TYPE_MODE (type) == SFmode || TYPE_MODE (type) == DFmode
is *always* FALSE and all the float parameters wiil be passed in GPRs
instead of FPRs.
Am I right? Everyone here could verify or deny it, thanks in advance!
>
>But that does not sense as the default value for powerpc-linux-gnu
>is hard floats.
>
>Thanks
>Andrew Pinski
Best Regards
----------------
Yao Qi
Bejing Institute of Technology
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
More information about the Gcc
mailing list