Re: [PATCH] Vzeroupper placement/47440

2012-11-15 Thread Uros Bizjak
On Fri, Nov 9, 2012 at 2:28 PM, Uros Bizjak wrote: > Finally, having a post-reload mode-switching pass, we can double-check > that there are no live SSE registers at vzeroupper insertion point. As > vzeroupper is only an optimization, we want to play safe and cancel > vzeroupper insertion in this

Re: [off-list] Re: [PATCH] Vzeroupper placement/47440

2012-11-09 Thread Uros Bizjak
On Fri, Nov 9, 2012 at 1:47 PM, Uros Bizjak wrote: >>> >> These assert should tell you what is wrong with the control flow. >>> >> Please look at control_flow_insn_p, which condition returns true. >>> > >>> > There is a note after call insn. >>> > >>> > (call_insn:TI 908 35558 50534 1681 (call (m

Re: [off-list] Re: [PATCH] Vzeroupper placement/47440

2012-11-09 Thread Uros Bizjak
On Fri, Nov 9, 2012 at 1:36 PM, Jakub Jelinek wrote: > On Fri, Nov 09, 2012 at 01:29:18PM +0100, Uros Bizjak wrote: >> On Fri, Nov 9, 2012 at 1:18 PM, Vladimir Yakovlev >> wrote: >> >> These assert should tell you what is wrong with the control flow. >> >> Please look at control_flow_insn_p, whi

Re: [off-list] Re: [PATCH] Vzeroupper placement/47440

2012-11-09 Thread Jakub Jelinek
On Fri, Nov 09, 2012 at 01:29:18PM +0100, Uros Bizjak wrote: > On Fri, Nov 9, 2012 at 1:18 PM, Vladimir Yakovlev > wrote: > >> These assert should tell you what is wrong with the control flow. > >> Please look at control_flow_insn_p, which condition returns true. > > > > There is a note after cal

Re: [off-list] Re: [PATCH] Vzeroupper placement/47440

2012-11-09 Thread Uros Bizjak
On Fri, Nov 9, 2012 at 1:18 PM, Vladimir Yakovlev wrote: >> These assert should tell you what is wrong with the control flow. >> Please look at control_flow_insn_p, which condition returns true. > > There is a note after call insn. > > (call_insn:TI 908 35558 50534 1681 (call (mem:QI (symbol_ref:D

Re: [off-list] Re: [PATCH] Vzeroupper placement/47440

2012-11-09 Thread Vladimir Yakovlev
> These assert should tell you what is wrong with the control flow. > Please look at control_flow_insn_p, which condition returns true. There is a note after call insn. (call_insn:TI 908 35558 50534 1681 (call (mem:QI (symbol_ref:DI ("_gfortran_stop_string") [flags 0x41] ) [0 _gfortran_stop_strin

Fwd: [off-list] Re: [PATCH] Vzeroupper placement/47440

2012-11-09 Thread Vladimir Yakovlev
-- Forwarded message -- From: Vladimir Yakovlev Date: 2012/11/9 Subject: Re: [off-list] Re: [PATCH] Vzeroupper placement/47440 To: Uros Bizjak Копия: "H.J. Lu" , Igor Zamyatin I did changes that moves vzeroupper insertion after reload 2012-11-09 Vladimi

Re: [PATCH] Vzeroupper placement/47440

2012-11-07 Thread Vladimir Yakovlev
I tested changes with configure ../gcc/configure --enable-clocale=gnu --with-system-zlib --enable-shared --with-demangler-in-ld --with-fpmath=sse --enable-languages=c,c++,fortran,java,lto,objc --with-arch=corei7-avx --with-cpu=corei7-avx Bootstrap is passed and no new fails in make check. Thank

Re: [PATCH] Vzeroupper placement/47440

2012-11-07 Thread Vladimir Yakovlev
Hello, Thanyou for investigation and fixing the problem. I'll answer on remarks later. Regards, Vladimir 2012/11/7 Jakub Jelinek : > On Tue, Nov 06, 2012 at 02:11:50PM -0800, H.J. Lu wrote: >> On Tue, Nov 6, 2012 at 2:30 AM, Kirill Yukhin >> wrote: >> > Hello, >> >> OK for mainline SVN, pleas

Re: [PATCH] Vzeroupper placement/47440

2012-11-07 Thread Uros Bizjak
On Wed, Nov 7, 2012 at 9:04 AM, Jakub Jelinek wrote: > Or I wonder why is call handled specially at all, doesn't > /* Check if a 256bit AVX register is referenced in stores. */ > state = unused; > note_stores (pat, check_avx256_stores, &state); > if (state == used) > return AVX_U128_

Re: [PATCH] Vzeroupper placement/47440

2012-11-07 Thread Uros Bizjak
On Wed, Nov 7, 2012 at 9:04 AM, Jakub Jelinek wrote: > On Wed, Nov 07, 2012 at 08:08:08AM +0100, Uros Bizjak wrote: >> >> 2012-11-06 Jakub Jelinek >> >> >> >> * config/i386/i386.c (ix86_avx_u128_mode_after): Don't >> >> look for reg in CALL operand. >> > >> > OK. >> >> You can a

Re: [PATCH] Vzeroupper placement/47440

2012-11-07 Thread Jakub Jelinek
On Wed, Nov 07, 2012 at 08:08:08AM +0100, Uros Bizjak wrote: > >> 2012-11-06 Jakub Jelinek > >> > >> * config/i386/i386.c (ix86_avx_u128_mode_after): Don't > >> look for reg in CALL operand. > > > > OK. > > You can also break the loop after reg is found. I have committed the pa

Re: [PATCH] Vzeroupper placement/47440

2012-11-06 Thread Uros Bizjak
On Wed, Nov 7, 2012 at 8:03 AM, Uros Bizjak wrote: >>> >> OK for mainline SVN, please commit. >>> > Checked into GCC trunk: >>> > http://gcc.gnu.org/ml/gcc-cvs/2012-11/msg00176.html >>> > >>> > Thanks, K >>> >>> This caused: >>> >>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55224 >> >> Not onl

Re: [PATCH] Vzeroupper placement/47440

2012-11-06 Thread Uros Bizjak
On Tue, Nov 6, 2012 at 11:18 PM, Jakub Jelinek wrote: > On Tue, Nov 06, 2012 at 02:11:50PM -0800, H.J. Lu wrote: >> On Tue, Nov 6, 2012 at 2:30 AM, Kirill Yukhin >> wrote: >> > Hello, >> >> OK for mainline SVN, please commit. >> > Checked into GCC trunk: http://gcc.gnu.org/ml/gcc-cvs/2012-11/msg

Re: [PATCH] Vzeroupper placement/47440

2012-11-06 Thread Jakub Jelinek
On Tue, Nov 06, 2012 at 02:11:50PM -0800, H.J. Lu wrote: > On Tue, Nov 6, 2012 at 2:30 AM, Kirill Yukhin wrote: > > Hello, > >> OK for mainline SVN, please commit. > > Checked into GCC trunk: http://gcc.gnu.org/ml/gcc-cvs/2012-11/msg00176.html > > > > Thanks, K > > This caused: > > http://gcc.gn

Re: [PATCH] Vzeroupper placement/47440

2012-11-06 Thread H.J. Lu
On Tue, Nov 6, 2012 at 2:30 AM, Kirill Yukhin wrote: > Hello, >> OK for mainline SVN, please commit. > Checked into GCC trunk: http://gcc.gnu.org/ml/gcc-cvs/2012-11/msg00176.html > > Thanks, K This caused: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55224 -- H.J.

Re: [PATCH] Vzeroupper placement/47440

2012-11-06 Thread Kirill Yukhin
Hello, > OK for mainline SVN, please commit. Checked into GCC trunk: http://gcc.gnu.org/ml/gcc-cvs/2012-11/msg00176.html Thanks, K

Re: [PATCH] Vzeroupper placement/47440

2012-11-05 Thread Uros Bizjak
Hello! > 2012-11-04 Vladimir Yakovlev > >* mode-switching.c (create_pre_exit): Added code for > maybe_builtin_apply case. The part above is already committed. >* config/i386/i386-protos.h (emit_i387_cw_initialization): Deleted. >(emit_vzero): Added prototype. >

Re: [PATCH] Vzeroupper placement/47440

2012-11-04 Thread Uros Bizjak
On Sun, Nov 4, 2012 at 2:29 PM, Uros Bizjak wrote: > -/* { dg-final { scan-assembler-not "avx_vzeroupper" } } */ > +/* { dg-final { scan-assembler-times "avx_vzeroupper" 3 } } */ > > (... and a couple of similar testsuite changes ...) > > These asm scans were put there for a reason. I assume you

Re: [PATCH] Vzeroupper placement/47440

2012-11-04 Thread Uros Bizjak
Hello! 2012-11-04 Vladimir Yakovlev * mode-switching.c (create_pre_exit): Added code for maybe_builtin_apply case. * config/i386/i386-protos.h (emit_i387_cw_initialization): Deleted. (emit_vzero): Added prototype. (ix86_mode_entry): Likewise. (ix86_mode