http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56560
--- Comment #5 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2013-03-10 15:51:03 UTC --- > diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c > index c1f6c88..8005207 100644 > --- a/gcc/config/i386/i386.c > +++ b/gcc/config/i386/i386.c > @@ -5562,7 +5562,7 @@ init_cumulative_args (CUMULATIVE_ARGS *cum, /* Argument > info to initialize */ > memset (cum, 0, sizeof (*cum)); > > /* Initialize for the current callee. */ > - if (caller) > + if (caller && fndecl) > { > cfun->machine->callee_pass_avx256_p = false; > cfun->machine->callee_return_avx256_p = false; > > fixes it. I don't think it's correct, fndecl is NULL_TREE for indirect calls as well.