Re: var_args for rs6000 backend

2005-09-19 Thread Yao qi
Hi, Ian, Sorry for this delayed reply, just because bug chasing is time-cosumping to a beginner. I think I found the root cause of the problem and post my ideas to it for your reference. As mentioned before in this thread, A new floating point type of 32 bit was introduced into GCC, and this

RE: var_args for rs6000 backend

2005-09-14 Thread Yao qi
Sorry for delayed reply. As I said, I haven't looked at the code in awhile (before GIMPLE), but the TREE code is the symbol table that allows you to look up the types of arguments and the function return type. Yes, I think you ar right. I found some other functionalities in rs6000_gimplify_va

RE: var_args for rs6000 backend

2005-09-09 Thread Meissner, Michael
ao qi [mailto:[EMAIL PROTECTED] Sent: Friday, September 09, 2005 6:43 AM To: Meissner, Michael Cc: gcc@gcc.gnu.org Subject: RE: var_args for rs6000 backend >From: "Meissner, Michael" <[EMAIL PROTECTED]> >To: "Yao qi" <[EMAIL PROTECTED]> >CC: gcc@gcc.gnu

Re: var_args for rs6000 backend

2005-09-09 Thread David Edelsohn
> Yao qi writes: >> Yes. TARGET_HARD_FLOAT is defined as >> >> #define TARGET_HARD_FLOAT ((target_flags & MASK_SOFT_FLOAT) == 0) >> >> The -mhard-float option will clear the MASK_SOFT_FLOAT bit in >> target_flags. Yao> Yes, this option works when I use it in GDB like this, Yao> (gdb) run -

Re: var_args for rs6000 backend

2005-09-09 Thread Yao qi
Yes. TARGET_HARD_FLOAT is defined as #define TARGET_HARD_FLOAT ((target_flags & MASK_SOFT_FLOAT) == 0) The -mhard-float option will clear the MASK_SOFT_FLOAT bit in target_flags. Yes, this option works when I use it in GDB like this, (gdb) run -mhard-float ../../gcc-dfp-cvs-Aung-10/gcc/t

RE: var_args for rs6000 backend

2005-09-09 Thread Yao qi
From: "Meissner, Michael" <[EMAIL PROTECTED]> To: "Yao qi" <[EMAIL PROTECTED]> CC: gcc@gcc.gnu.org Subject: RE: var_args for rs6000 backend Date: Thu, 8 Sep 2005 21:19:25 -0400 Yes, the eABI is a modification of the System V ABI. IIRC (but it has been several

Re: var_args for rs6000 backend

2005-09-09 Thread Ian Lance Taylor
"Yao qi" <[EMAIL PROTECTED]> writes: > Do you mean the value of TARGET_HARD_FLOAT is *1* when option -mhard-float > is specified according to rs6000.opt ? Yes. TARGET_HARD_FLOAT is defined as #define TARGET_HARD_FLOAT ((target_flags & MASK_SOFT_FLOAT) == 0) The -mhard-float option will clear t

Re: var_args for rs6000 backend

2005-09-09 Thread Yao qi
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

Re: var_args for rs6000 backend

2005-09-08 Thread Ian Lance Taylor
"Yao qi" <[EMAIL PROTECTED]> 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); >

Re: var_args for rs6000 backend

2005-09-08 Thread Yao qi
I don't know where the DFP arguments are passed. If they are passed in the floating point registers, then is the fix as simple as handling the new modes like SFmode and DFmode in rs6000_gimplify_va_arg? Yes, new modes has been added correspondingly. > > However, I am not sure about the follo

Re: var_args for rs6000 backend

2005-09-08 Thread Andrew Pinski
> 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

Re: var_args for rs6000 backend

2005-09-08 Thread Yao qi
I often find it necessary to add debugging prints to these functions to show where parameters are found in registers and/or on the stack, and what kind of thing va_arg returns. These prints most conveniently take the form of if (dump_file) fprintf (dump_file, ...); to appe

Re: var_args for rs6000 backend

2005-09-08 Thread Ian Lance Taylor
"Yao qi" <[EMAIL PROTECTED]> writes: > I am working on GCC dfp branch for *only* one month. Three new data types > are added into GCC for the consideration of precision. These three new > data types works well in argument passing and value return, but can not > deal with variable argument passin

Re: var_args for rs6000 backend

2005-09-08 Thread Yao qi
From: Ian Lance Taylor To: "Yao Qi qi" <[EMAIL PROTECTED]> CC: gcc@gcc.gnu.org Subject: Re: var_args for rs6000 backend Date: 07 Sep 2005 09:14:49 -0700 "Yao Qi qi" <[EMAIL PROTECTED]> writes: It might help if you give a brief overview of what you are tryi

RE: var_args for rs6000 backend

2005-09-08 Thread Meissner, Michael
changes that I'm forgetting about, and also the 64-bit support probably changes things also. -Original Message- From: Yao qi [mailto:[EMAIL PROTECTED] Sent: Thursday, September 08, 2005 9:10 PM To: Meissner, Michael Cc: gcc@gcc.gnu.org Subject: RE: var_args for rs6000 backend

RE: var_args for rs6000 backend

2005-09-08 Thread Yao qi
From: "Meissner, Michael" <[EMAIL PROTECTED]> To: "Yao Qi qi" <[EMAIL PROTECTED]> CC: gcc@gcc.gnu.org Subject: RE: var_args for rs6000 backend Date: Wed, 7 Sep 2005 13:11:50 -0400 There was also a PowerPC NT ABI at one point, but since Windows NT on PowerPC wa

RE: var_args for rs6000 backend

2005-09-07 Thread Meissner, Michael
riginal Message- From: Yao Qi qi [mailto:[EMAIL PROTECTED] Sent: Tuesday, September 06, 2005 11:14 PM To: Meissner, Michael Cc: gcc@gcc.gnu.org Subject: RE: var_args for rs6000 backend >From: "Meissner, Michael" <[EMAIL PROTECTED]> >To: "Yao qi" <[EMAIL PROTECTED

Re: var_args for rs6000 backend

2005-09-07 Thread Ian Lance Taylor
"Yao Qi qi" <[EMAIL PROTECTED]> writes: > New data types were added into GCC as well as new modes. It might help if you give a brief overview of what you are trying to do (maybe you already have, and I forgot). Also, I assume you are working with mainline gcc. > Argument > passing and > return

Re: var_args for rs6000 backend

2005-09-07 Thread Yao Qi qi
From: Ian Lance Taylor To: "Yao qi" <[EMAIL PROTECTED]> CC: gcc@gcc.gnu.org Subject: Re: var_args for rs6000 backend Date: 06 Sep 2005 11:05:38 -0700 "Yao qi" <[EMAIL PROTECTED]> writes: These are partially documented in gcc/doc/tm.texi. Unfortunately the d

Re: var_args for rs6000 backend

2005-09-06 Thread Alan Modra
On Wed, Sep 07, 2005 at 11:14:28AM +0800, Yao Qi qi wrote: > I just have to concentrate on ABI_V4 if I work on gcc develoment on > powerpc-linux, am I right ? Yes, and take care not to break code for the other ABIs. :-) Incidentally, powerpc64-linux is ABI_AIX. -- Alan Modra IBM OzLabs - Linux

RE: var_args for rs6000 backend

2005-09-06 Thread Yao Qi qi
From: "Meissner, Michael" <[EMAIL PROTECTED]> To: "Yao qi" <[EMAIL PROTECTED]> CC: gcc@gcc.gnu.org Subject: RE: var_args for rs6000 backend Date: Tue, 6 Sep 2005 14:13:56 -0400 And note Yao qi, that there are different ABIs on the rs6000, each of which has dif

RE: var_args for rs6000 backend

2005-09-06 Thread Meissner, Michael
] On Behalf Of Ian Lance Taylor Sent: Tuesday, September 06, 2005 2:06 PM To: Yao qi Cc: gcc@gcc.gnu.org Subject: Re: var_args for rs6000 backend "Yao qi" <[EMAIL PROTECTED]> writes: > I am working on variable arguments on rs6000 backend and I have > browsed gcc/confi

Re: var_args for rs6000 backend

2005-09-06 Thread Ian Lance Taylor
"Yao qi" <[EMAIL PROTECTED]> writes: > I am working on variable arguments on rs6000 backend and I have > browsed gcc/config/rs6000/rs6000.c for several times, I found > there are some functions relavtive to this issue, they are > setup_incoming_varargs, rs6000_build_builtin_va_list ,rs60

var_args for rs6000 backend

2005-09-05 Thread Yao qi
I am working on variable arguments on rs6000 backend and I have browsed gcc/config/rs6000/rs6000.c for several times, I found there are some functions relavtive to this issue, they are setup_incoming_varargs, rs6000_build_builtin_va_list ,rs6000_va_start ,rs6000_gimplify_va_arg . I