aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/lib/java
diff options
context:
space:
mode:
authorKuan-Lin Chen <rufus@andestech.com>2025-09-07 12:17:27 -0600
committerJeff Law <jlaw@ventanamicro.com>2025-09-07 12:17:27 -0600
commitc4d5383b1d5771bf81659103f4f67829d791067d (patch)
tree1c5e44cf2da9f812b443df79517399c356a90d93 /libjava/classpath/lib/java
parent2b7afb69ab42367cd926bffb26ba713e51b91914 (diff)
downloadgcc-c4d5383b1d5771bf81659103f4f67829d791067d.zip
gcc-c4d5383b1d5771bf81659103f4f67829d791067d.tar.gz
gcc-c4d5383b1d5771bf81659103f4f67829d791067d.tar.bz2
RISC-V: Add support for the XAndesvdot ISA extension.
This extension defines vector instructions to calculae of the signed/unsigned dot product of four SEW/4-bit data and accumulate the result into a SEWbit element for all elements in a vector register. gcc/ChangeLog: * config/riscv/andes-vector-builtins-bases.cc (nds_vd4dot): New class. (class nds_vd4dotsu): New class. * config/riscv/andes-vector-builtins-bases.h: New def. * config/riscv/andes-vector-builtins-functions.def (nds_vd4dots): Ditto. (nds_vd4dotsu): Ditto. (nds_vd4dotu): Ditto. * config/riscv/andes-vector.md (@pred_nds_vd4dot<su><mode>): New pattern. (@pred_nds_vd4dotsu<mode>): New pattern. * config/riscv/genrvv-type-indexer.cc (main): Modify sew of QUAD_FIX, QUAD_FIX_SIGNED and QUAD_FIX_UNSIGNED. * config/riscv/riscv-vector-builtins.cc (qexti_vvvv_ops): New operand information. (qexti_su_vvvv_ops): New operand information. (qextu_vvvv_ops): New operand information. * config/riscv/riscv-vector-builtins.h (XANDESVDOT_EXT): New def. (required_ext_to_isa_name): Add case XANDESVDOT_EXT. (required_extensions_specified): Ditto. (struct function_group_info): Ditto. * config/riscv/vector-iterators.md (NDS_QUAD_FIX): New iterator. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/xandesvector/non-policy/non-overloaded/nds_vd4dots.c: New test. * gcc.target/riscv/rvv/xandesvector/non-policy/non-overloaded/nds_vd4dotsu.c: New test. * gcc.target/riscv/rvv/xandesvector/non-policy/non-overloaded/nds_vd4dotu.c: New test. * gcc.target/riscv/rvv/xandesvector/non-policy/overloaded/nds_vd4dots.c: New test. * gcc.target/riscv/rvv/xandesvector/non-policy/overloaded/nds_vd4dotsu.c: New test. * gcc.target/riscv/rvv/xandesvector/non-policy/overloaded/nds_vd4dotu.c: New test. * gcc.target/riscv/rvv/xandesvector/policy/non-overloaded/nds_vd4dots.c: New test. * gcc.target/riscv/rvv/xandesvector/policy/non-overloaded/nds_vd4dotsu.c: New test. * gcc.target/riscv/rvv/xandesvector/policy/non-overloaded/nds_vd4dotu.c: New test. * gcc.target/riscv/rvv/xandesvector/policy/overloaded/nds_vd4dots.c: New test. * gcc.target/riscv/rvv/xandesvector/policy/overloaded/nds_vd4dotsu.c: New test. * gcc.target/riscv/rvv/xandesvector/policy/overloaded/nds_vd4dotu.c: New test.
Diffstat (limited to 'libjava/classpath/lib/java')
0 files changed, 0 insertions, 0 deletions