This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: split_complex_* flaw
>>>>> Richard Henderson writes:
Richard> Oh please. You're optimizing for the wrong case -- va_arg of complex
Richard> float will happen approximately never. It should work, but it needn't
Richard> work efficiently. What *should* work efficiently are the complex libm
Richard> routines. And those clearly benefit from having the complex be split.
Richard> There's example code in alpha.c for how to handle va_arg. Basically,
Richard> you recurse, collect two arguments, and put them together again in
Richard> local storage.
I completely agree. My only question was whether that code to
recurse should be part of std_expand_va_arg for the SPLIT_COMPLEX_ARGS
case or implemented for each port.
Let's just follow the example of the Alpha port and implement the
code in rs6000_va_arg() for complex.
David