Hello, This patch rewrites ppc_svr4_push_dummy_call so that it implements the two-pass push-arguments algorithm using a "for" loop. The simplification identified and fixed the bugs: - Altivec registers on the stack weren't being 16 byte aligned - Floats weren't being converted to doubles before being stored in register/memory ("gdb.base/callfuncs.exp: p t_float_values2" now passes). Ok? Andrew PS: I intend moving align_{up,down} to utils.c but that is separate.