Hello, On 22 Oct 10:09, Richard Biener wrote: > On Tue, Oct 21, 2014 at 5:08 PM, Kirill Yukhin <kirill.yuk...@gmail.com> > wrote: > > On 21 Oct 18:47, Kirill Yukhin wrote: > >> On 21 Oct 16:20, Jakub Jelinek wrote: > >> > On Tue, Oct 21, 2014 at 06:08:15PM +0400, Kirill Yukhin wrote: > >> > > --- a/gcc/tree.h > >> > > +++ b/gcc/tree.h > >> > > @@ -2334,6 +2334,10 @@ extern void decl_value_expr_insert (tree, tree); > >> > > #define DECL_COMDAT(NODE) \ > >> > > (DECL_WITH_VIS_CHECK (NODE)->decl_with_vis.comdat_flag) > >> > > > >> > > + /* In a FUNCTION_DECL indicates that a static chain is needed. */ > >> > > +#define DECL_STATIC_CHAIN(NODE) \ > >> > > + (DECL_WITH_VIS_CHECK (NODE)->decl_with_vis.regdecl_flag) > >> > > + > >> > > >> > I would say that you should still keep it together with the FUNCTION_DECL > >> > macros and use FUNCTION_DECL_CHECK there, to make it clear we don't want > >> > the macro to be used on VAR_DECLs etc. > >> > So just s/function_decl/decl_with_vis/ in the definition IMHO. > >> Yeah, sure. > >> > >> > Also, with so many added builtins, how does it affect > >> > int i; > >> > compilation time at -O0? If it is significant, maybe it is highest time > >> > to > >> > make the md builtin decl building more lazy. > >> I've tried this: > >> $ echo "int i;" > test.c > >> $ time for i in `seq 10000` ; do ./build-x86_64-linux/gcc/xgcc > >> -B./build-x86_64-linux/gcc -O0 -S test.c ; done > >> > >> For trunk w/ and w/o the patch applied. > >> Got 106.86 vs. 106.85 secs. which looks equal. > > Retested on clear machine (SandyBridge). Got 189 vs. 192 secs., i.e. ~1% > > Can you test with -mavx512 (or whatever enables the builtins?) Done. I did: sync && time for i in `seq 1000` ; do ./build-x86_64-linux/gcc/xgcc -B./build-x86_64-linux/gcc -O0 -S test.c -mavx512vl ; done
Here're results. w/o the patch applied: real 0m14.245s user 0m10.753s sys 0m2.150s w/ the patch applied: real 0m16.404s user 0m12.935s sys 0m2.577s So, we have compilation 15% slowdown when -mavx512vl is provided and no difference when not. Is this change is acceptable? -- Thanks, K