]> git.ipfire.org Git - thirdparty/gcc.git/commit
[PATCH v4 2/2] RISC-V: Add support for XCValu extension in CV32E40P
authorMary Bennett <mary.bennett@embecosm.com>
Wed, 11 Oct 2023 13:41:38 +0000 (07:41 -0600)
committerJeff Law <jlaw@ventanamicro.com>
Wed, 11 Oct 2023 13:48:28 +0000 (07:48 -0600)
commit5ef248c15ec3490f4b98cda4bc27a667a8cf8206
tree7bb4ffd5daf13571ad3c7bf695303065ba11fee9
parent400efdddf3d8499d7c7969d26bedb537a625c070
[PATCH v4 2/2] RISC-V: Add support for XCValu extension in CV32E40P

Spec: github.com/openhwgroup/core-v-sw/blob/master/specifications/corev-builtin-spec.md

Contributors:
  Mary Bennett <mary.bennett@embecosm.com>
  Nandni Jamnadas <nandni.jamnadas@embecosm.com>
  Pietra Ferreira <pietra.ferreira@embecosm.com>
  Charlie Keaney
  Jessica Mills
  Craig Blackmore <craig.blackmore@embecosm.com>
  Simon Cook <simon.cook@embecosm.com>
  Jeremy Bennett <jeremy.bennett@embecosm.com>
  Helene Chelin <helene.chelin@embecosm.com>

gcc/ChangeLog:

* common/config/riscv/riscv-common.cc: Add the XCValu
extension.
* config/riscv/constraints.md: Add builtins for the XCValu
extension.
* config/riscv/predicates.md (immediate_register_operand):
Likewise.
* config/riscv/corev.def: Likewise.
* config/riscv/corev.md: Likewise.
* config/riscv/riscv-builtins.cc (AVAIL): Likewise.
(RISCV_ATYPE_UHI): Likewise.
* config/riscv/riscv-ftypes.def: Likewise.
* config/riscv/riscv.opt: Likewise.
* config/riscv/riscv.cc (riscv_print_operand): Likewise.
* doc/extend.texi: Add XCValu documentation.
* doc/sourcebuild.texi: Likewise.

gcc/testsuite/ChangeLog:

* lib/target-supports.exp: Add proc for the XCValu extension.
* gcc.target/riscv/cv-alu-compile.c: New test.
* gcc.target/riscv/cv-alu-fail-compile-addn.c: New test.
* gcc.target/riscv/cv-alu-fail-compile-addrn.c: New test.
* gcc.target/riscv/cv-alu-fail-compile-addun.c: New test.
* gcc.target/riscv/cv-alu-fail-compile-addurn.c: New test.
* gcc.target/riscv/cv-alu-fail-compile-clip.c: New test.
* gcc.target/riscv/cv-alu-fail-compile-clipu.c: New test.
* gcc.target/riscv/cv-alu-fail-compile-subn.c: New test.
* gcc.target/riscv/cv-alu-fail-compile-subrn.c: New test.
* gcc.target/riscv/cv-alu-fail-compile-subun.c: New test.
* gcc.target/riscv/cv-alu-fail-compile-suburn.c: New test.
* gcc.target/riscv/cv-alu-fail-compile.c: New test.
24 files changed:
gcc/common/config/riscv/riscv-common.cc
gcc/config/riscv/constraints.md
gcc/config/riscv/corev.def
gcc/config/riscv/corev.md
gcc/config/riscv/predicates.md
gcc/config/riscv/riscv-builtins.cc
gcc/config/riscv/riscv-ftypes.def
gcc/config/riscv/riscv.cc
gcc/config/riscv/riscv.opt
gcc/doc/extend.texi
gcc/doc/sourcebuild.texi
gcc/testsuite/gcc.target/riscv/cv-alu-compile.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/cv-alu-fail-compile-addn.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/cv-alu-fail-compile-addrn.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/cv-alu-fail-compile-addun.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/cv-alu-fail-compile-addurn.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/cv-alu-fail-compile-clip.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/cv-alu-fail-compile-clipu.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/cv-alu-fail-compile-subn.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/cv-alu-fail-compile-subrn.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/cv-alu-fail-compile-subun.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/cv-alu-fail-compile-suburn.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/cv-alu-fail-compile.c [new file with mode: 0644]
gcc/testsuite/lib/target-supports.exp