+2010-11-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/46285
+ * config/i386/i386.c (ix86_expand_call): Conditionally decorate
+ calls with UNSPEC_CALL_NEEDS_VZEROUPPER unspec before reload
+ is completed.
+
2010-11-03 Richard Guenther <rguenther@suse.de>
PR tree-optimization/46217
else
avx256 = call_no_avx256;
- unspec = gen_rtx_UNSPEC (VOIDmode,
- gen_rtvec (1, GEN_INT (avx256)),
- UNSPEC_CALL_NEEDS_VZEROUPPER);
- call = gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2, call, unspec));
+ if (reload_completed)
+ emit_insn (gen_avx_vzeroupper (GEN_INT (avx256)));
+ else
+ {
+ unspec = gen_rtx_UNSPEC (VOIDmode,
+ gen_rtvec (1, GEN_INT (avx256)),
+ UNSPEC_CALL_NEEDS_VZEROUPPER);
+ call = gen_rtx_PARALLEL (VOIDmode,
+ gen_rtvec (2, call, unspec));
+ }
}
call = emit_call_insn (call);
+2010-11-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/46285
+ * gcc.target/i386/pr46285.c.
+
2010-11-03 Richard Guenther <rguenther@suse.de>
PR tree-optimization/46217