I have updated tests and changelog according to Jakub's suggestions.
Please find attached v2 of my patch.


14.11.2017  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.

14.11.2017  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.


Thanks,
Sebastian

> -----Original Message-----
> From: Jakub Jelinek [mailto:ja...@redhat.com]
> Sent: Tuesday, November 14, 2017 10:51 AM
> To: Peryt, Sebastian <sebastian.pe...@intel.com>
> Cc: gcc-patches@gcc.gnu.org; Uros Bizjak <ubiz...@gmail.com>; Kirill Yukhin
> <kirill.yuk...@gmail.com>; Lu, Hongjiu <hongjiu...@intel.com>
> Subject: Re: [PATCH][i386] PR82941/PR82942 - Adding vzeroupper generation
> for SKX
> 
> 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.pe...@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

Attachment: 0001-VZEROUPPER_v2.patch
Description: 0001-VZEROUPPER_v2.patch

Reply via email to