This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH i386 AVX512] [81/n] Add new built-ins.
- From: Kirill Yukhin <kirill dot yukhin at gmail dot com>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: Jakub Jelinek <jakub at redhat dot com>, Uros Bizjak <ubizjak at gmail dot com>, Richard Henderson <rth at redhat dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 22 Oct 2014 15:34:22 +0400
- Subject: Re: [PATCH i386 AVX512] [81/n] Add new built-ins.
- Authentication-results: sourceware.org; auth=none
- References: <20141020134122 dot GB12661 at msticlxl57 dot ims dot intel dot com> <20141020135019 dot GP10376 at tucnak dot redhat dot com> <20141021140805 dot GA22695 at msticlxl57 dot ims dot intel dot com> <20141021142015 dot GY10376 at tucnak dot redhat dot com> <20141021144749 dot GC22695 at msticlxl57 dot ims dot intel dot com> <20141021150826 dot GD22695 at msticlxl57 dot ims dot intel dot com> <CAFiYyc3ubjxjcAwrH-X2=DVP2B5VzL9W2XFpy3wjWtH_O4oLBw at mail dot gmail dot com>
On 22 Oct 10:09, Richard Biener wrote:
> On Tue, Oct 21, 2014 at 5:08 PM, Kirill Yukhin <firstname.lastname@example.org> 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?)
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
w/o the patch applied:
w/ the patch applied:
So, we have compilation 15% slowdown when -mavx512vl
is provided and no difference when not.
Is this change is acceptable?