This is the mail archive of the gcc@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: 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


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