re PR target/14567 ([3.4 only] long double and va_arg complex args)
authorAlan Modra <amodra@gcc.gnu.org>
Sat, 13 Mar 2004 07:14:12 +0000 (17:44 +1030)
committerAlan Modra <amodra@gcc.gnu.org>
Sat, 13 Mar 2004 07:14:12 +0000 (17:44 +1030)
commitc53bdcf59be1f9b9c8bc10ec3388564f47d62acf
tree6203b2eff0f970afb254fb285321946988596d59
parent8b0d605196ebf4556ef13b3a5a62d69f20ed2e36
re PR target/14567 ([3.4 only] long double and va_arg complex args)

PR target/14567
* config/rs6000/rs6000.h (UNITS_PER_ARG, RS6000_ARG_SIZE): Delete.
(HARD_REGNO_MODE_OK): Disallow TFmode for fp31.
* config/rs6000/rs6000.c (rs6000_arg_size): New function.
Update all users of RS6000_ARG_SIZE.
(function_arg_advance): Count fregno using mode size.
(function_arg): Handle long double split over regs and memory.
(function_arg_partial_nregs): Likewise.
(rs6000_va_arg): Repackage complex args.

From-SVN: r79436
gcc/ChangeLog
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.h