[PATCH][i386] PR82941/PR82942 - Adding vzeroupper generation for SKX

Jakub Jelinek jakub@redhat.com
Tue Nov 14 09:59:00 GMT 2017


On Tue, Nov 14, 2017 at 09:45:12AM +0000, Peryt, Sebastian wrote:
> Hi,
> 
> This patch fixes PR82941 and PR82942 by adding vzeroupper generation on SKX.
> Bootstrapped and tested.
> 
> 14.11.2017  Sebastian Peryt  <sebastian.peryt@intel.com>
> 
> gcc/

In that case the ChangeLog entry should list the PRs, i.e.
	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.
> 	(ix86_check_avx_upper_register): Add extra check for
> 	VALID_AVX512F_REG_OR_XI_MODE.

The way this is usually written is instead:
	(ix86_check_avx256_register): Changed to ...
	(ix86_check_avx_upper_register): ... this.  Add extra check for
	VALID_AVX512F_REG_OR_XI_MODE.
i.e. don't duplicate the function name, just continue mentioning further
changes.

> 	(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.
> 	(ix86_check_avx_upper_stores): Changed
> 	ix86_check_avx256_register to ix86_check_avx_upper_register.

Likewise.

> gcc/testsuite/
> 	* gcc.target/i386/pr82941.c: New test.
> 	* gcc.target/i386/pr82942.c: New test.

Shouldn't there be also a test that if using -march=knl and another one
if using -mavx512f -mavx512er that we don't emit any vzeroupper?

	Jakub



More information about the Gcc-patches mailing list