From: Robin Dapp <rd...@ventanamicro.com>

Hi,

Significant changes from v2:

 - Decide on the else value in the vectorizer and also add the VEC_COND
   there (instead of during ifcvt).
 - Simplify aarch64 and i386 changes according to maintainers' comments.
 - Fixed bugs spotted by the CI.

No noteworthy changes to the riscv patch.

Bootstrapped and regtested on i386, aarch64 and power10.
Regtested on rv64gcv and rv32gcv.

Robin Dapp (8):
  docs: Document maskload else operand and behavior.
  ifn: Add else-operand handling.
  tree-ifcvt: Enforce zero else value after maskload.
  vect: Add maskload else value support.
  aarch64: Add masked-load else operands.
  gcn: Add else operand to masked loads.
  i386: Add else operand to masked loads.
  RISC-V: Add else operand to masked loads [PR115336].

 .../aarch64/aarch64-sve-builtins-base.cc      |  46 ++-
 gcc/config/aarch64/aarch64-sve-builtins.cc    |   7 +-
 gcc/config/aarch64/aarch64-sve-builtins.h     |   2 +-
 gcc/config/aarch64/aarch64-sve.md             |  53 ++-
 gcc/config/aarch64/aarch64-sve2.md            |   3 +-
 gcc/config/aarch64/iterators.md               |   4 -
 gcc/config/aarch64/predicates.md              |   4 +
 gcc/config/gcn/gcn-valu.md                    |  14 +-
 gcc/config/gcn/predicates.md                  |   2 +
 gcc/config/i386/i386-expand.cc                |  26 +-
 gcc/config/i386/predicates.md                 |   4 +
 gcc/config/i386/sse.md                        | 112 +++---
 gcc/config/riscv/autovec.md                   |  45 ++-
 gcc/config/riscv/predicates.md                |   3 +
 gcc/config/riscv/riscv-v.cc                   |  26 +-
 gcc/doc/md.texi                               |  63 ++--
 gcc/internal-fn.cc                            | 139 +++++++-
 gcc/internal-fn.h                             |  13 +-
 gcc/optabs-query.cc                           |  70 ++--
 gcc/optabs-query.h                            |   3 +-
 gcc/optabs-tree.cc                            |  66 +++-
 gcc/optabs-tree.h                             |   8 +-
 .../gcc.target/riscv/rvv/autovec/pr115336.c   |  20 ++
 .../gcc.target/riscv/rvv/autovec/pr116059.c   |  15 +
 gcc/tree-if-conv.cc                           |  16 +-
 gcc/tree-vect-data-refs.cc                    |  74 ++--
 gcc/tree-vect-patterns.cc                     |  12 +-
 gcc/tree-vect-slp.cc                          |  25 +-
 gcc/tree-vect-stmts.cc                        | 323 +++++++++++++++---
 gcc/tree-vectorizer.h                         |  10 +-
 30 files changed, 925 insertions(+), 283 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/pr115336.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/pr116059.c

-- 
2.47.0

Reply via email to