https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82942
--- Comment #7 from speryt at gcc dot gnu.org --- Author: speryt Date: Wed Nov 15 12:27:31 2017 New Revision: 254763 URL: https://gcc.gnu.org/viewcvs?rev=254763&root=gcc&view=rev Log: Fix PR82941 and PR82942 by adding proper vzeroupper generation on SKX. 2017-11-15 Sebastian Peryt <sebastian.pe...@intel.com> gcc/ PR target/82941 PR target/82942 * config/i386/i386.c (pass_insert_vzeroupper): Modify gate condition to return true on Xeon and not on Xeon Phi. (ix86_check_avx256_register): Changed to ... (ix86_check_avx_upper_register): ... this. Add extra check for VALID_AVX512F_REG_OR_XI_MODE. (ix86_avx_u128_mode_needed): Changed ix86_check_avx256_register to ix86_check_avx_upper_register. (ix86_check_avx256_stores): Changed to ... (ix86_check_avx_upper_stores): ... this. Changed ix86_check_avx256_register to ix86_check_avx_upper_register. (ix86_avx_u128_mode_after): Changed avx_reg256_found to avx_upper_reg_found. Changed ix86_check_avx256_stores to ix86_check_avx_upper_stores. (ix86_avx_u128_mode_entry): Changed ix86_check_avx256_register to ix86_check_avx_upper_register. (ix86_avx_u128_mode_exit): Ditto. * config/i386/i386.h: (host_detect_local_cpu): New define. 2017-11-15 Sebastian Peryt <sebastian.pe...@intel.com> gcc/testsuite/ PR target/82941 PR target/82942 * gcc.target/i386/pr82941-1.c: New test. * gcc.target/i386/pr82941-2.c: New test. * gcc.target/i386/pr82942-1.c: New test. * gcc.target/i386/pr82942-2.c: New test. Added: trunk/gcc/testsuite/gcc.target/i386/pr82941-1.c trunk/gcc/testsuite/gcc.target/i386/pr82941-2.c trunk/gcc/testsuite/gcc.target/i386/pr82942-1.c trunk/gcc/testsuite/gcc.target/i386/pr82942-2.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.c trunk/gcc/config/i386/i386.h trunk/gcc/testsuite/ChangeLog