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]

[PATCH 0/6] More vector permutation work


The Idea with this patch set is to re-arrange vector permutation
so that it can be used to implement other patterns automatically.

In particular, Altivec, SPU currently have (and Sparc VIS would need)
a large amount of boilerplate code that transforms several higher
level tree codes into vector permutation inside the backend.  This
seems a bit unnecessary.

It's arguable that we could simply make VEC_PERM_EXPR the only code
that gets generated at the vectorizer level, and drop some of these
other patterns entirely.  I'm not 100% sure we should go that far,
but even if we did, I still think this is a good cleanup.

Bootstrapped and tested on x86_64-linux only.  I've only cross-tested
the ppc/spu patches.

Ok?


r~


Richard Henderson (6):
  Fix typos in the names of vec_extract & vec_interleave tree codes.
  Change vec_perm checking and expansion level.
  Implement interleave via permutation.
  spu: Remove vec_extract_even/odd and vec_interleave expanders.
  rs6000: Remove some vec_extract_even/odd expanders.
  i386: Delete the vec_extract_even/odd patterns.

 gcc/config/i386/i386.c       |   18 +--
 gcc/config/i386/sse.md       |   29 ---
 gcc/config/rs6000/altivec.md |  134 +-------------
 gcc/config/spu/spu.md        |  433 ------------------------------------------
 gcc/doc/tm.texi              |    2 +-
 gcc/expr.c                   |   28 +--
 gcc/optabs.c                 |  331 ++++++++++++++++++++++----------
 gcc/optabs.h                 |    7 +-
 gcc/target.def               |    7 +-
 gcc/tree-vect-data-refs.c    |   80 +++-----
 gcc/tree-vect-generic.c      |   23 ++-
 gcc/tree-vect-slp.c          |   36 ++--
 gcc/tree-vect-stmts.c        |   22 ++-
 gcc/tree.def                 |    8 +-
 14 files changed, 343 insertions(+), 815 deletions(-)

-- 
1.7.6.4


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