Originated from
https://gcc.gnu.org/pipermail/gcc-patches/2020-September/554240.html
with patch split and some refinement per review comments.

Patch of IFN VEC_SET for ARRAY_REF(VIEW_CONVERT_EXPR) is committed,
this patch set enables expanding IFN VEC_SET for Power9 and Power8
with specfic instruction sequences.

Xionghu Luo (4):
  rs6000: Change rs6000_expand_vector_set param
  rs6000: Support variable insert and Expand vec_insert in expander [PR79251]
  rs6000: Enable vec_insert for P8 with rs6000_expand_vector_set_var_p8
  rs6000: Update testcases' instruction count

 gcc/config/rs6000/rs6000-c.c                  |  44 +++--
 gcc/config/rs6000/rs6000-call.c               |   2 +-
 gcc/config/rs6000/rs6000-protos.h             |   3 +-
 gcc/config/rs6000/rs6000.c                    | 181 +++++++++++++++++-
 gcc/config/rs6000/vector.md                   |   4 +-
 .../powerpc/fold-vec-insert-char-p8.c         |   8 +-
 .../powerpc/fold-vec-insert-char-p9.c         |  12 +-
 .../powerpc/fold-vec-insert-double.c          |  11 +-
 .../powerpc/fold-vec-insert-float-p8.c        |   6 +-
 .../powerpc/fold-vec-insert-float-p9.c        |  10 +-
 .../powerpc/fold-vec-insert-int-p8.c          |   6 +-
 .../powerpc/fold-vec-insert-int-p9.c          |  11 +-
 .../powerpc/fold-vec-insert-longlong.c        |  10 +-
 .../powerpc/fold-vec-insert-short-p8.c        |   6 +-
 .../powerpc/fold-vec-insert-short-p9.c        |   8 +-
 .../gcc.target/powerpc/pr79251-run.c          |  28 +++
 gcc/testsuite/gcc.target/powerpc/pr79251.h    |  19 ++
 gcc/testsuite/gcc.target/powerpc/pr79251.p8.c |  17 ++
 gcc/testsuite/gcc.target/powerpc/pr79251.p9.c |  18 ++
 .../gcc.target/powerpc/vsx-builtin-7.c        |   4 +-
 20 files changed, 337 insertions(+), 71 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/powerpc/pr79251-run.c
 create mode 100644 gcc/testsuite/gcc.target/powerpc/pr79251.h
 create mode 100644 gcc/testsuite/gcc.target/powerpc/pr79251.p8.c
 create mode 100644 gcc/testsuite/gcc.target/powerpc/pr79251.p9.c

-- 
2.25.1

Reply via email to