]> git.ipfire.org Git - thirdparty/gcc.git/commit
[PATCH v5 1/1] RISC-V: Add support for XCVbi extension in CV32E40P
authorMary Bennett <mary.bennett@embecosm.com>
Tue, 19 Mar 2024 03:32:56 +0000 (21:32 -0600)
committerJeff Law <jlaw@ventanamicro.com>
Tue, 19 Mar 2024 03:32:56 +0000 (21:32 -0600)
commit9eeca7753670d7bccd82e6ed7e4fe97cabd9a362
treef220486d67ac8acfc8b2049127b66b4fc7d4bac8
parentd91a0cee3611f477730a1fc10beff050dfc800ec
[PATCH v5 1/1] RISC-V: Add support for XCVbi 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: Create XCVbi extension
support.
* config/riscv/riscv.opt: Likewise.
* config/riscv/corev.md: Implement cv_branch<mode> pattern
for cv.beqimm and cv.bneimm.
* config/riscv/riscv.md: Add CORE-V branch immediate to RISC-V
branch instruction pattern.
* config/riscv/constraints.md: Implement constraints
cv_bi_s5 - signed 5-bit immediate.
* config/riscv/predicates.md: Implement predicate
const_int5s_operand - signed 5 bit immediate.
* doc/sourcebuild.texi: Add XCVbi documentation.

gcc/testsuite/ChangeLog:
* gcc.target/riscv/cv-bi-beqimm-compile-1.c: New test.
* gcc.target/riscv/cv-bi-beqimm-compile-2.c: New test.
* gcc.target/riscv/cv-bi-bneimm-compile-1.c: New test.
* gcc.target/riscv/cv-bi-bneimm-compile-2.c: New test.
* lib/target-supports.exp: Add proc for XCVbi.
12 files changed:
gcc/common/config/riscv/riscv-common.cc
gcc/config/riscv/constraints.md
gcc/config/riscv/corev.md
gcc/config/riscv/predicates.md
gcc/config/riscv/riscv.md
gcc/config/riscv/riscv.opt
gcc/doc/sourcebuild.texi
gcc/testsuite/gcc.target/riscv/cv-bi-beqimm-compile-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/cv-bi-beqimm-compile-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/cv-bi-bneimm-compile-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/cv-bi-bneimm-compile-2.c [new file with mode: 0644]
gcc/testsuite/lib/target-supports.exp