From: Andrew Pinski <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED] (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/