Hello,
On 21 Oct 11:17, Richard Biener wrote:
> On Mon, Oct 20, 2014 at 3:50 PM, Jakub Jelinek <ja...@redhat.com> wrote:
> > On Mon, Oct 20, 2014 at 05:41:25PM +0400, Kirill Yukhin wrote:
> >> Hello,
> >> This patch adds (almost) all built-ins needed by
> >> AVX-512VL,BW,DQ intrinsics.
> >>
> >> Main questionable hunk is:
> >>
> >> diff --git a/gcc/tree-core.h b/gcc/tree-core.h
> >> index b69312b..a639487 100644
> >> --- a/gcc/tree-core.h
> >> +++ b/gcc/tree-core.h
> >> @@ -1539,7 +1539,7 @@ struct GTY(()) tree_function_decl {
> >>       DECL_FUNCTION_CODE.  Otherwise unused.
> >>       ???  The bitfield needs to be able to hold all target function
> >>         codes as well.  */
> >> -  ENUM_BITFIELD(built_in_function) function_code : 11;
> >> +  ENUM_BITFIELD(built_in_function) function_code : 12;
> >>    ENUM_BITFIELD(built_in_class) built_in_class : 2;
> >>
> >>    unsigned static_ctor_flag : 1;
> >
> > Well, decl_with_vis has 15 unused bits, so instead of growing
> > FUNCTION_DECL significantly, might be better to move one of the
> > flags to decl_with_vis and just document that it applies to FUNCTION_DECLs
> > only.  Or move some flag to cgraph if possible.
> >
> > But seeing e.g.
> >        IX86_BUILTIN_FIXUPIMMPD256, IX86_BUILTIN_FIXUPIMMPD256_MASK,
> >        IX86_BUILTIN_FIXUPIMMPD256_MASKZ
> > etc. I wonder if you really need that many builtins, weren't we adding
> > for avx512f just single builtin instead of 3 different ones, always
> > providing mask argument and depending on whether it is all ones, etc.
> > figuring out what kind of masking should be performed?
> 
> If only we had no lang-specific flags in tree_base we could use
> the same place as we use for internal function code ...
> 
> But yes, not using that many builtins in the first place is preferred
> for example by making them type-generic and/or variadic.
We might try to refactor x86 built-ins toward type-generic approach, but
I think it can be postponed to 6.x release series.

--
Thanks, K
> 
> Richard.
> 
> >         Jakub

Reply via email to