http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56560
--- Comment #9 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2013-03-12 17:07:40 UTC --- > This patch adds callee_pass_avx256_p and callee_return_avx256_p > to ix86_args. ix86_function_arg copies them to cfun->machine > when ix86_function_arg is called with VOIDmode, which is called > just before emitting call. cfun->machine->callee_return_avx256_p > is set in init_cumulative_args for ix86_function_ok_for_sibcall. This looks good to me, but I don't know the i386 back-end much (and of course cannot approve anything). Btw, you should add a comment before the new if (cum->caller && mode == VOIDmode) block explaining why you need to do this dance on the caller side. Thanks for working on this.