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



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 following things in rtl file I dumped,
> ;; End of basic block 0, registers live:
> 1 [1] 3 [3] 31 [31] 33 [1] 34 [2] 35 [3] 36 [4] 37 [5] 38 [6] 39 [7]
> 40 [8] 67 [ap] 113 [sfp]
>
> I have searched it in Charpter 10 RTL representation in GCC internals for
> GCC 4.0, but I can not find anything to describe it. I guess it is a
> description
> of register usage. 1 means r1 ,31 means r31, 33 means f2, am I right?


Yes.  The strings in square brackets are the name of the registers.
This is unfortunately unhelpful for the PowerPC, where the register
names are just numbers.  You can try using -mregnames to get better
strings.  Or just look at alt_reg_names in rs6000.c for a more useful
mapping from register number to register name.

Yes, alt_reg_names is much more clear than my imagination.

dump_file is a global variable. It will be set if debugging is enabled for whatever pass is executing at the moment. Using -da turns on debugging for all RTL passes.

Ian


Best Regards
----------------
Yao Qi
Bejing Institute of Technology

_________________________________________________________________
FREE pop-up blocking with the new MSN Toolbar - get it now! http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/



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