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/

Reply via email to