On Mon, Mar 18, 2013 at 6:51 PM, H.J. Lu <hongjiu...@intel.com> wrote:
> ix86_function_arg sets cfun->machine->callee_pass_avx256_p from the > current argument. It clears callee_pass_avx256_p when ix86_function_arg > is called to generate a library call to passs an argument. This patch > adds callee_pass_avx256_p and callee_return_avx256_p to ix86_args to store > the AVX info in CUM and copy it to cfun->machine->callee_pass_avx256_p > when ix86_function_arg is called immediately before the call instruction > is emitted. OK for 4.7 branch? > > 2013-03-18 H.J. Lu <hongjiu...@intel.com> > > PR target/56560 > * config/i386/i386.c (init_cumulative_args): Also set > cum->callee_return_avx256_p. > (ix86_function_arg): Set cum->callee_pass_avx256_p. Set > cfun->machine->callee_pass_avx256_p only when MODE == VOIDmode. > > * config/i386/i386.h (ix86_args): Add callee_pass_avx256_p and > callee_return_avx256_p. > > gcc/ > > 2013-03-18 H.J. Lu <hongjiu...@intel.com> > > PR target/56560 > * gcc.target/i386/pr56560.c: New file. OK for branches, but I didn't check all state transitions (and I don't like this approach anyway)... Please also add the testcase to the trunk, and to 4.8 branch when it reopens. Thanks, Uros.