This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH i386 AVX512] [81/n] Add new built-ins.


Hello,
On 22 Oct 10:09, Richard Biener wrote:
> On Tue, Oct 21, 2014 at 5:08 PM, Kirill Yukhin <kirill.yukhin@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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]