Changes since v1:
[PATCH 1/7]
Replaced "UPPERCAE_NAME" with "UPPERCASE_NAME".

[PATCH 2/7]
Renamed predicates
  - extract_loc_imm_si → unsigned_5_bit_integer_operand
  - extract_loc_imm_di → unsigned_6_bit_integer_operand
Replaced with existing predicates
  - Used const_int6_operand in place of extract_loc_imm_di
  - Defined const_int5_operand to replace extract_loc_imm_si
Branch handling updates
  - Added support for long-branch handling
  - Removed the length attribute from nds_branch_imms7<mode> and 
nds_branch_on_bit<X:mode>
-Cost adjustments
  - For nds_branch_on_bit<X:mode>, set the combine-phase ZERO_EXTRACT cost to 
zero as intended
define_insn_and_splits condition fixes
  - Retained the built-in behavior where a split condition beginning with && is 
ANDed with the main condition
  - Reverted unnecessary changes to the split condition logic and simplified it 
back to the original form

[PATCH 6/7]
Removed "nds_vfpmad" temporarily before uploading Andes pipeline model.

Thanks for your review.


Kuan-Lin Chen (7):
  RISC-V: Add basic XAndes vendor extension support.
  RISC-V: Add support for the XAndesperf ISA extension.
  RISC-V: Add support for the XAndesbfhcvt ISA extension.
  RISC-V: Add support for the XAndesvbfhcvt ISA extension.
  RISC-V: Add support for the XAndesvsintload ISA extension.
  RISC-V: Add support for the XAndesvpackfph ISA extension.
  RISC-V: Add support for the XAndesvdot ISA extension.

 gcc/common/config/riscv/riscv-common.cc       |   3 +
 gcc/config.gcc                                |   4 +-
 .../riscv/andes-vector-builtins-bases.cc      | 189 +++++++
 .../riscv/andes-vector-builtins-bases.h       |  42 ++
 .../riscv/andes-vector-builtins-functions.def |  65 +++
 gcc/config/riscv/andes-vector.md              | 163 ++++++
 gcc/config/riscv/andes.def                    |  14 +
 gcc/config/riscv/andes.md                     | 469 ++++++++++++++++++
 gcc/config/riscv/andes_vector.h               |  32 ++
 gcc/config/riscv/constraints.md               |  10 +
 gcc/config/riscv/genrvv-type-indexer.cc       |   6 +-
 gcc/config/riscv/iterators.md                 |  12 +
 gcc/config/riscv/predicates.md                |  42 ++
 gcc/config/riscv/riscv-builtins.cc            |  10 +
 gcc/config/riscv/riscv-ext-andes.def          | 100 ++++
 gcc/config/riscv/riscv-ext.def                |   1 +
 gcc/config/riscv/riscv-ext.opt                |  15 +
 gcc/config/riscv/riscv-ftypes.def             |   3 +
 .../riscv/riscv-vector-builtins-types.def     |  44 ++
 gcc/config/riscv/riscv-vector-builtins.cc     | 103 ++++
 gcc/config/riscv/riscv-vector-builtins.def    |   4 +
 gcc/config/riscv/riscv-vector-builtins.h      |  20 +
 gcc/config/riscv/riscv.cc                     |  32 ++
 gcc/config/riscv/riscv.md                     |  17 +-
 gcc/config/riscv/t-riscv                      |  18 +-
 gcc/config/riscv/vector-iterators.md          |  38 +-
 gcc/config/riscv/vector.md                    |   1 +
 gcc/doc/riscv-ext.texi                        |  24 +
 gcc/testsuite/gcc.target/riscv/rvv/rvv.exp    |  12 +
 .../riscv/rvv/xandesvector/nds_vfwcvt.c       |  37 ++
 .../non-policy/non-overloaded/nds_vd4dots.c   | 132 +++++
 .../non-policy/non-overloaded/nds_vd4dotsu.c  | 132 +++++
 .../non-policy/non-overloaded/nds_vd4dotu.c   | 132 +++++
 .../non-policy/non-overloaded/nds_vfpmadb.c   | 103 ++++
 .../non-policy/non-overloaded/nds_vfpmadt.c   | 103 ++++
 .../non-policy/non-overloaded/nds_vln8.c      |  62 +++
 .../non-policy/overloaded/nds_vd4dots.c       | 132 +++++
 .../non-policy/overloaded/nds_vd4dotsu.c      | 132 +++++
 .../non-policy/overloaded/nds_vd4dotu.c       | 133 +++++
 .../non-policy/overloaded/nds_vfpmadb.c       | 103 ++++
 .../non-policy/overloaded/nds_vfpmadt.c       | 103 ++++
 .../non-policy/overloaded/nds_vln8.c          |  34 ++
 .../policy/non-overloaded/nds_vd4dots.c       | 258 ++++++++++
 .../policy/non-overloaded/nds_vd4dotsu.c      | 258 ++++++++++
 .../policy/non-overloaded/nds_vd4dotu.c       | 258 ++++++++++
 .../policy/non-overloaded/nds_vfpmadb.c       | 199 ++++++++
 .../policy/non-overloaded/nds_vfpmadt.c       | 199 ++++++++
 .../policy/non-overloaded/nds_vln8.c          | 118 +++++
 .../policy/overloaded/nds_vd4dots.c           | 258 ++++++++++
 .../policy/overloaded/nds_vd4dotsu.c          | 258 ++++++++++
 .../policy/overloaded/nds_vd4dotu.c           | 258 ++++++++++
 .../policy/overloaded/nds_vfpmadb.c           | 199 ++++++++
 .../policy/overloaded/nds_vfpmadt.c           | 199 ++++++++
 .../xandesvector/policy/overloaded/nds_vln8.c | 118 +++++
 .../gcc.target/riscv/xandes-predef-1.c        |  14 +
 .../gcc.target/riscv/xandes-predef-2.c        |  14 +
 .../gcc.target/riscv/xandes-predef-3.c        |  14 +
 .../gcc.target/riscv/xandes-predef-4.c        |  14 +
 .../gcc.target/riscv/xandes-predef-5.c        |  14 +
 .../gcc.target/riscv/xandes-predef-6.c        |  14 +
 .../gcc.target/riscv/xandesbfhcvt-1.c         |  11 +
 .../gcc.target/riscv/xandesbfhcvt-2.c         |  11 +
 gcc/testsuite/gcc.target/riscv/xandesperf-1.c |  13 +
 .../gcc.target/riscv/xandesperf-10.c          |  32 ++
 gcc/testsuite/gcc.target/riscv/xandesperf-2.c |  13 +
 gcc/testsuite/gcc.target/riscv/xandesperf-3.c |  11 +
 gcc/testsuite/gcc.target/riscv/xandesperf-4.c |  11 +
 gcc/testsuite/gcc.target/riscv/xandesperf-5.c |  11 +
 gcc/testsuite/gcc.target/riscv/xandesperf-6.c |  18 +
 gcc/testsuite/gcc.target/riscv/xandesperf-7.c |  22 +
 gcc/testsuite/gcc.target/riscv/xandesperf-8.c |  26 +
 gcc/testsuite/gcc.target/riscv/xandesperf-9.c |  31 ++
 72 files changed, 5692 insertions(+), 13 deletions(-)
 create mode 100644 gcc/config/riscv/andes-vector-builtins-bases.cc
 create mode 100644 gcc/config/riscv/andes-vector-builtins-bases.h
 create mode 100644 gcc/config/riscv/andes-vector-builtins-functions.def
 create mode 100644 gcc/config/riscv/andes-vector.md
 create mode 100644 gcc/config/riscv/andes.def
 create mode 100644 gcc/config/riscv/andes.md
 create mode 100644 gcc/config/riscv/andes_vector.h
 create mode 100644 gcc/config/riscv/riscv-ext-andes.def
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/xandesvector/nds_vfwcvt.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/non-policy/non-overloaded/nds_vd4dots.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/non-policy/non-overloaded/nds_vd4dotsu.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/non-policy/non-overloaded/nds_vd4dotu.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/non-policy/non-overloaded/nds_vfpmadb.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/non-policy/non-overloaded/nds_vfpmadt.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/non-policy/non-overloaded/nds_vln8.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/non-policy/overloaded/nds_vd4dots.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/non-policy/overloaded/nds_vd4dotsu.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/non-policy/overloaded/nds_vd4dotu.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/non-policy/overloaded/nds_vfpmadb.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/non-policy/overloaded/nds_vfpmadt.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/non-policy/overloaded/nds_vln8.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/policy/non-overloaded/nds_vd4dots.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/policy/non-overloaded/nds_vd4dotsu.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/policy/non-overloaded/nds_vd4dotu.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/policy/non-overloaded/nds_vfpmadb.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/policy/non-overloaded/nds_vfpmadt.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/policy/non-overloaded/nds_vln8.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/policy/overloaded/nds_vd4dots.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/policy/overloaded/nds_vd4dotsu.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/policy/overloaded/nds_vd4dotu.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/policy/overloaded/nds_vfpmadb.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/policy/overloaded/nds_vfpmadt.c
 create mode 100644 
gcc/testsuite/gcc.target/riscv/rvv/xandesvector/policy/overloaded/nds_vln8.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/xandes-predef-1.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/xandes-predef-2.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/xandes-predef-3.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/xandes-predef-4.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/xandes-predef-5.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/xandes-predef-6.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/xandesbfhcvt-1.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/xandesbfhcvt-2.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/xandesperf-1.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/xandesperf-10.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/xandesperf-2.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/xandesperf-3.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/xandesperf-4.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/xandesperf-5.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/xandesperf-6.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/xandesperf-7.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/xandesperf-8.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/xandesperf-9.c

-- 
2.34.1

Reply via email to