Re: V2 [PATCH] x86: Don't generate vzeroupper if caller is AVX_U128_DIRTY

2019-01-08 Thread H.J. Lu
On Tue, Jan 8, 2019 at 9:29 AM Uros Bizjak wrote: > > On Tue, Jan 8, 2019 at 5:17 PM H.J. Lu wrote: > > > > On Tue, Jan 8, 2019 at 6:54 AM Uros Bizjak wrote: > > > > > > On Tue, Jan 8, 2019 at 3:39 PM H.J. Lu wrote: > > > > > > > > On Mon, Jan 7, 2019 at 11:12 PM Uros Bizjak wrote: > > > > > >

Re: V2 [PATCH] x86: Don't generate vzeroupper if caller is AVX_U128_DIRTY

2019-01-08 Thread Uros Bizjak
On Tue, Jan 8, 2019 at 5:17 PM H.J. Lu wrote: > > On Tue, Jan 8, 2019 at 6:54 AM Uros Bizjak wrote: > > > > On Tue, Jan 8, 2019 at 3:39 PM H.J. Lu wrote: > > > > > > On Mon, Jan 7, 2019 at 11:12 PM Uros Bizjak wrote: > > > > > > > > On Mon, Jan 7, 2019 at 6:40 PM H.J. Lu wrote: > > > > > > > >

V2 [PATCH] x86: Don't generate vzeroupper if caller is AVX_U128_DIRTY

2019-01-08 Thread H.J. Lu
On Tue, Jan 8, 2019 at 6:54 AM Uros Bizjak wrote: > > On Tue, Jan 8, 2019 at 3:39 PM H.J. Lu wrote: > > > > On Mon, Jan 7, 2019 at 11:12 PM Uros Bizjak wrote: > > > > > > On Mon, Jan 7, 2019 at 6:40 PM H.J. Lu wrote: > > > > > > > > There is no need to generate vzeroupper if caller uses upper b

Re: [PATCH] x86: Don't generate vzeroupper if caller is AVX_U128_DIRTY

2019-01-08 Thread Uros Bizjak
On Tue, Jan 8, 2019 at 3:39 PM H.J. Lu wrote: > > On Mon, Jan 7, 2019 at 11:12 PM Uros Bizjak wrote: > > > > On Mon, Jan 7, 2019 at 6:40 PM H.J. Lu wrote: > > > > > > There is no need to generate vzeroupper if caller uses upper bits of > > > AVX/AVX512 registers, We track caller's avx_u128_stat

Re: [PATCH] x86: Don't generate vzeroupper if caller is AVX_U128_DIRTY

2019-01-08 Thread H.J. Lu
On Mon, Jan 7, 2019 at 11:12 PM Uros Bizjak wrote: > > On Mon, Jan 7, 2019 at 6:40 PM H.J. Lu wrote: > > > > There is no need to generate vzeroupper if caller uses upper bits of > > AVX/AVX512 registers, We track caller's avx_u128_state and avoid > > vzeroupper when caller's avx_u128_state is AV

Re: [PATCH] x86: Don't generate vzeroupper if caller is AVX_U128_DIRTY

2019-01-07 Thread Uros Bizjak
On Mon, Jan 7, 2019 at 6:40 PM H.J. Lu wrote: > > There is no need to generate vzeroupper if caller uses upper bits of > AVX/AVX512 registers, We track caller's avx_u128_state and avoid > vzeroupper when caller's avx_u128_state is AVX_U128_DIRTY. > > Tested on i686 and x86-64 with and without --w

[PATCH] x86: Don't generate vzeroupper if caller is AVX_U128_DIRTY

2019-01-07 Thread H.J. Lu
There is no need to generate vzeroupper if caller uses upper bits of AVX/AVX512 registers, We track caller's avx_u128_state and avoid vzeroupper when caller's avx_u128_state is AVX_U128_DIRTY. Tested on i686 and x86-64 with and without --with-arch=native. OK for trunk? Thanks. H.J. --- gcc/