Use float stack slots for e500 promoted arguments
Steve Ellcey
sje@cup.hp.com
Thu Jul 3 18:21:00 GMT 2008
On Thu, 2008-07-03 at 14:04 -0400, Daniel Jacobowitz wrote:
> So conditionalizing on data->passed_mode must not be enough. What is
> the passed mode?
>
> I'll start a PA cross-gcc build.
It looks like it is SCmode. From gdb:
#3 0x35ff7c in assign_parm_remove_parallels (data=0x7a00104c)
at /proj/opensrc_nobackup/sje/tot/src/trunk/gcc/function.c:2371
2371 emit_group_store (parmreg, entry_parm, NULL_TREE,
(gdb) p *data
$1 = {nominal_type = 0x79d73af8, passed_type = 0x79d73af8,
entry_parm = 0x79d89d98, stack_parm = 0x79ddaca0, nominal_mode =
SCmode,
passed_mode = SCmode, promoted_mode = SCmode, locate = {size = {
constant = 8, var = 0x0}, offset = {constant = -8, var = 0x0},
slot_offset = {constant = -8, var = 0x0}, alignment_pad = {constant
= 0,
var = 0x0}, where_pad = none, boundary = 64}, partial = 0,
named_arg = 1, passed_pointer = 0, on_stack = 0, loaded_in_reg = 0}
More information about the Gcc-patches
mailing list