This is the mail archive of the gcc-patches@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] |
On Sun, Nov 11, 2012 at 9:45 PM, Uros Bizjak <ubizjak@gmail.com> wrote: > >> Regarding vzeroupper insertion pass - we will use gcc pass manager to >> insert a target-dependant pass directly after reload ... > > ... like attached patch. The patch inserts vzeroupper pass directly > after reload, so spills from 256bit registers are considered when > processing AVX_U128 entity. The patched gcc reruns mode-switching > pass, so an export of entry function from mode-switching is needed. 2012-11-14 Uros Bizjak <ubizjak@gmail.com> Vladimir Yakovlev <vladimir.b.yakovlev@intel.com> PR target/47440 * config/i386/i386.c (gate_insert_vzeroupper): New function. (rest_of_handle_insert_vzeroupper): Ditto. (struct rtl_opt_pass pass_insert_vzeroupper): New. (ix86_option_override): Register vzeroupper insertion pass here. (ix86_check_avx256_register): Handle SUBREGs properly. (ix86_init_machine_status): Remove optimize_mode_switching[AVX_U128] initialization. Bootstrapped and regression tested on x86_64-pc-linux-gnu {,-m32} AVX target and committed to mainline SVN. Uros.
Attachment:
p.diff.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |