alpha.c (function_arg): Don't pass small aggregates in floating point registers.
authorRichard Henderson <rth@gcc.gnu.org>
Fri, 27 Jun 2003 17:52:03 +0000 (10:52 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Fri, 27 Jun 2003 17:52:03 +0000 (10:52 -0700)
commit7e4fb06a5182286640bf73410d09ab324c5e73ad
tree49762bdb5dbf79cca9a0994dd11b48b208a92a1e
parent75d75435b640d134ed3b195e1d3b068bbf1fc6ba
alpha.c (function_arg): Don't pass small aggregates in floating point registers.

        * config/alpha/alpha.c (function_arg): Don't pass small aggregates
        in floating point registers.  Validate that we don't receive complex
        values here.  Use #elif.
        (return_in_memory, function_value): New.
        (alpha_va_arg): Handle complex values as two arguments.
        * config/alpha/alpha.h (RETURN_IN_MEMORY): Use return_in_memory.
        (FUNCTION_VALUE, LIBCALL_VALUE): Use function_value.
        (SPLIT_COMPLEX_ARGS): New.
        * config/alpha/alpha-protos.h: Update.

From-SVN: r68591
gcc/ChangeLog
gcc/config/alpha/alpha-protos.h
gcc/config/alpha/alpha.c
gcc/config/alpha/alpha.h