This is the mail archive of the gcc@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: [rfc] new tree-codes/optabs for vectorization of non-unit-strideaccesses





Steven Bosscher <stevenb@suse.de> wrote on 11/16/2005 10:39:24 PM:

> On Wednesday 16 November 2005 15:35, Dorit Naishlos wrote:
> > We'd like to suggest a few new tree-codes/optabs in order to express
the
> > extraction and merging of elements from/to vectors.
>
> Watch out for tree code starvation:
>
> $ ~/devel/gomp-branch/gcc> grep ^DEFTREECODE *.def | wc
>     181     908   12483
> $ ~/devel/gomp-branch/gcc> cd cp
> $ ~/devel/gomp-branch/gcc/cp> grep ^DEFTREECODE *.def | wc
>      58     288    4262
> $ ~/devel/gomp-branch/gcc/cp>
>
> So for C++ on the GOMP-branch, we currently have 239 tree codes.
> There can be at nost 256 tree codes, because tree_common.code only
> can hold that many...
>

only thing I can suggest in the context of the vectorizer is to use an
extra argument to save a few tree-codes:
i.e. instead of:
      VEC_EXTRACT_EVEN(v1,v2), VEC_EXTRACT_ODD(v1,v2)
      VEC_INTERLEAVE_HIGH(v1,v2), VEC_INTERLEAVE_LOW(v1,v2)
have:
      VEC_EXTRACT(even_odd_bool,v1,v2)
      VEC_INTERLEAVE(high_low_bool,v1,v2)
if that's preferable (I don't like it so much...).

dorit

> Gr.
> Steven
>


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