]> git.ipfire.org Git - thirdparty/gcc.git/commit
RISC-V: Remove vxrm parameter for vsadd[u] and vssub[u]
authorxuli <xuli1@eswincomputing.com>
Fri, 28 Jul 2023 05:52:22 +0000 (05:52 +0000)
committerPan Li <pan2.li@intel.com>
Fri, 28 Jul 2023 07:20:04 +0000 (15:20 +0800)
commit1d6af545bf7fa34c9bdd17b41e81abd019d073a8
tree3eba00a921ba85918a048f66993885060a06c4ea
parentb9d7140c80bd3c7355b8291bb46f0895dcd8c3cb
RISC-V: Remove vxrm parameter for vsadd[u] and vssub[u]

Computation of `vsadd`, `vsaddu`, `vssub`, and `vssubu` do not need the
rounding mode, therefore the intrinsics of these instructions do not have
the parameter for rounding mode control.

gcc/ChangeLog:

* config/riscv/riscv-vector-builtins-bases.cc: remove rounding mode of
vsadd[u] and vssub[u].
* config/riscv/vector.md: Ditto.

gcc/testsuite/ChangeLog:

* g++.target/riscv/rvv/base/bug-12.C: Adapt testcase.
* g++.target/riscv/rvv/base/bug-14.C: Ditto.
* g++.target/riscv/rvv/base/bug-18.C: Ditto.
* g++.target/riscv/rvv/base/bug-19.C: Ditto.
* g++.target/riscv/rvv/base/bug-20.C: Ditto.
* g++.target/riscv/rvv/base/bug-21.C: Ditto.
* g++.target/riscv/rvv/base/bug-22.C: Ditto.
* g++.target/riscv/rvv/base/bug-23.C: Ditto.
* g++.target/riscv/rvv/base/bug-3.C: Ditto.
* g++.target/riscv/rvv/base/bug-8.C: Ditto.
* gcc.target/riscv/rvv/base/binop_vx_constraint-100.c: Ditto.
* gcc.target/riscv/rvv/base/binop_vx_constraint-101.c: Ditto.
* gcc.target/riscv/rvv/base/binop_vx_constraint-102.c: Ditto.
* gcc.target/riscv/rvv/base/binop_vx_constraint-103.c: Ditto.
* gcc.target/riscv/rvv/base/binop_vx_constraint-104.c: Ditto.
* gcc.target/riscv/rvv/base/binop_vx_constraint-105.c: Ditto.
* gcc.target/riscv/rvv/base/binop_vx_constraint-106.c: Ditto.
* gcc.target/riscv/rvv/base/binop_vx_constraint-107.c: Ditto.
* gcc.target/riscv/rvv/base/binop_vx_constraint-108.c: Ditto.
* gcc.target/riscv/rvv/base/binop_vx_constraint-109.c: Ditto.
* gcc.target/riscv/rvv/base/binop_vx_constraint-110.c: Ditto.
* gcc.target/riscv/rvv/base/binop_vx_constraint-111.c: Ditto.
* gcc.target/riscv/rvv/base/binop_vx_constraint-112.c: Ditto.
* gcc.target/riscv/rvv/base/binop_vx_constraint-113.c: Ditto.
* gcc.target/riscv/rvv/base/binop_vx_constraint-114.c: Ditto.
* gcc.target/riscv/rvv/base/binop_vx_constraint-115.c: Ditto.
* gcc.target/riscv/rvv/base/binop_vx_constraint-116.c: Ditto.
* gcc.target/riscv/rvv/base/binop_vx_constraint-117.c: Ditto.
* gcc.target/riscv/rvv/base/binop_vx_constraint-118.c: Ditto.
* gcc.target/riscv/rvv/base/binop_vx_constraint-119.c: Ditto.
* gcc.target/riscv/rvv/base/binop_vx_constraint-97.c: Ditto.
* gcc.target/riscv/rvv/base/binop_vx_constraint-98.c: Ditto.
* gcc.target/riscv/rvv/base/merge_constraint-1.c: Ditto.
* gcc.target/riscv/rvv/base/fixed-point-vxrm-error.c: New test.
* gcc.target/riscv/rvv/base/fixed-point-vxrm.c: New test.
37 files changed:
gcc/config/riscv/riscv-vector-builtins-bases.cc
gcc/config/riscv/vector.md
gcc/testsuite/g++.target/riscv/rvv/base/bug-12.C
gcc/testsuite/g++.target/riscv/rvv/base/bug-14.C
gcc/testsuite/g++.target/riscv/rvv/base/bug-18.C
gcc/testsuite/g++.target/riscv/rvv/base/bug-19.C
gcc/testsuite/g++.target/riscv/rvv/base/bug-20.C
gcc/testsuite/g++.target/riscv/rvv/base/bug-21.C
gcc/testsuite/g++.target/riscv/rvv/base/bug-22.C
gcc/testsuite/g++.target/riscv/rvv/base/bug-23.C
gcc/testsuite/g++.target/riscv/rvv/base/bug-3.C
gcc/testsuite/g++.target/riscv/rvv/base/bug-8.C
gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-100.c
gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-101.c
gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-102.c
gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-103.c
gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-104.c
gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-105.c
gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-106.c
gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-107.c
gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-108.c
gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-109.c
gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-110.c
gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-111.c
gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-112.c
gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-113.c
gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-114.c
gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-115.c
gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-116.c
gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-117.c
gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-118.c
gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-119.c
gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-97.c
gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-98.c
gcc/testsuite/gcc.target/riscv/rvv/base/fixed-point-vxrm-error.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/base/fixed-point-vxrm.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/base/merge_constraint-1.c