This is the mail archive of the gcc-patches@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: [PATCH] - Use of powerpc 64bit instructions in 32bit ABI



On Friday, October 24, 2003, at 11:07 AM, Richard Henderson wrote:


On Fri, Oct 24, 2003 at 01:31:41PM -0400, David Edelsohn wrote:
	Notice the use of UNITS_PER_WORD, BITS_PER_WORD, and word_mode in
the following functions that depend on the argument wordsize and ABI:
[...]
calls.c:load_register_parameters()

If you're returning parallels from function_arg, you won't get here.

This routine is called for passing args in registers. Above code is used in following
example (which does not have any long long but a structure is passed by value in 32-bit
registers using UNITS_PER_WORD).


struct S {
        long i1;
        long i2;
        long i3;
        long i4;
};

void foo(struct S ll);

void add(struct S val)
{
    foo( val );
}

- Fariborz


calls.c:store_one_arg()

Or here.


function.c:assign_parm()

You definitely won't get to all the bits you marked here.


expr.c:emit_push_insn()

Dunno about here, but if we're really interested in block copy, then you *do* want to move in 64-bit hunks.


r~


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