This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: var_args for rs6000 backend


"Yao qi" <qiyaobit@hotmail.com> writes:

>    5672 tree
>    5673 rs6000_gimplify_va_arg (tree valist, tree type, tree *pre_p,
> tree *post_        p)
>    5674 {
> .......
>    5733   if (dump_file)
>    5734     {
>    5735       fprintf (dump_file, "TARGET_HARD_FLOAT =
> %d\n",TARGET_HARD_FLOAT);
>    5736       fprintf (dump_file, "TARGET_FPRS =%d\n", TARGET_FPRS);
>    5737       fprintf (dump_file, "TYPE_MODE (type) = %d\n", TYPE_MODE
> (type));
>    5738     }
>    5739   if (TARGET_HARD_FLOAT && TARGET_FPRS
> ......
> 
> When I trace it here and find dump_file is NULL so I can not dump them
> out with
> -da option.  I do not know how could you do it in this way, could you
> give me
> some advice?

My mistake, rs6000_gimplify_va_arg is called at the tree level, so to
get that dump you will need to use -fdump-tree-all.

> 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.

TARGET_HARD_FLOAT will be true if the MASK_SOFT_FLOAT bit is not set
in target_flags.  That bit can be set based on the CPU architecture
for which the compiler is configured.  Search for MASK_SOFT_FLOAT in
rs6000.c.  I don't know whether it is set for you.

You will see the definition of TARGET_HARD_FLOAT in options.h in your
gcc build directory.

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]