Re: V4 [PATCH] i386: Handle REG_EH_REGION note

2019-03-14 Thread Jakub Jelinek
On Fri, Mar 15, 2019 at 03:36:15AM +0800, H.J. Lu wrote: > Like this? Yes. > gcc/ > > PR target/89650 > * config/i386/i386.c (remove_partial_avx_dependency): Handle > REG_EH_REGION note. > > gcc/testsuite/ > > PR target/89650 > * g++.target/i386/pr89650.C: New

V4 [PATCH] i386: Handle REG_EH_REGION note

2019-03-14 Thread H.J. Lu
0bb8c37ce83d7886c8deb7c2ba9eb5ddf4d02dc0 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 12 Mar 2019 08:55:24 +0800 Subject: [PATCH] i386: Handle REG_EH_REGION note When we split: (insn 18 17 76 2 (set (reg:SF 88 [ _19 ]) (float:SF (mem/c:SI (symbol_ref:DI ("d") [flag

Re: V3 [PATCH] i386: Handle REG_EH_REGION note

2019-03-14 Thread Jakub Jelinek
On Thu, Mar 14, 2019 at 09:08:17PM +0800, H.J. Lu wrote: > --- a/gcc/config/i386/i386.c > +++ b/gcc/config/i386/i386.c > @@ -2819,6 +2819,8 @@ remove_partial_avx_dependency (void) >rtx set; >rtx v4sf_const0 = NULL_RTX; > > + auto_vec splitted_insn; Perhaps throwing_insns or

V3 [PATCH] i386: Handle REG_EH_REGION note

2019-03-14 Thread H.J. Lu
I will work on it. > Here it is. OK for trunk? Thanks. -- H.J. From 64ac61ce7095c49406ea34b05f1c22fbb98ca3f7 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 12 Mar 2019 08:55:24 +0800 Subject: [PATCH] i386: Handle REG_EH_REGION note When we split: (insn 18 17 76 2

Re: V2 [PATCH] i386: Handle REG_EH_REGION note

2019-03-14 Thread H.J. Lu
On Thu, Mar 14, 2019 at 4:34 PM Jakub Jelinek wrote: > > On Thu, Mar 14, 2019 at 11:30:21AM +0800, H.J. Lu wrote: > > We need to split the basic block if we create new insns, which may > > throw exceptions, in the middle of the basic blocks. > > > > Tested on AVX2 and AVX512 machines with and

Re: V2 [PATCH] i386: Handle REG_EH_REGION note

2019-03-14 Thread Jakub Jelinek
On Thu, Mar 14, 2019 at 11:30:21AM +0800, H.J. Lu wrote: > We need to split the basic block if we create new insns, which may > throw exceptions, in the middle of the basic blocks. > > Tested on AVX2 and AVX512 machines with and without > > --with-arch=native > > OK for trunk? That looks much

V2 [PATCH] i386: Handle REG_EH_REGION note

2019-03-13 Thread H.J. Lu
s, also cleanup the cfg. */ > + cleanup_cfg (0); > +} > + >timevar_pop (TV_MACH_DEP); >return 0; > } > > but that still ICEs. > > Jakub We need to split the basic block if we create new insns, which may throw exceptions, in the middle of the basic blocks. Tested on AV

Re: [PATCH] i386: Handle REG_EH_REGION note

2019-03-13 Thread Jakub Jelinek
On Tue, Mar 12, 2019 at 09:36:32AM +0800, H.J. Lu wrote: > PR target/89650 > * config/i386/i386.c (remove_partial_avx_dependency): Handle > REG_EH_REGION note. > > gcc/testsuite/ > > PR target/89650 > * g++.target/i386/pr89650.C: New test. > --- >

[PATCH] i386: Handle REG_EH_REGION note

2019-03-11 Thread H.J. Lu
When we split: (insn 18 17 76 2 (set (reg:SF 88 [ _19 ]) (float:SF (mem/c:SI (symbol_ref:DI ("d") [flags 0x2] ) [1 d+0 S4 A32]))) "x.ii":4:20 170 {*floatsisf2} (expr_list:REG_EH_REGION (const_int 2 [0x2]) (nil))) to (insn 94 17 18 2 (set (reg:V4SF 115)