]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
RISC-V: Add support for XCVelw extension in CV32E40P
authorMary Bennett <mary.bennett682@gmail.com>
Thu, 30 May 2024 15:06:57 +0000 (16:06 +0100)
committerNelson Chu <nelson@rivosinc.com>
Wed, 5 Jun 2024 10:09:09 +0000 (18:09 +0800)
commit940da069b48980ce957dd4cc010a9a41e05d1553
treeb259f1aeefe9dcafcb45ee0d8497602aa288b03a
parentf95540d91f4c3df373c0f9e212030154658d7f6f
RISC-V: Add support for XCVelw extension in CV32E40P

Spec: https://docs.openhwgroup.org/projects/cv32e40p-user-manual/en/latest/instruction_set_extensions.html

Contributors:
  Mary Bennett <mary.bennett682@gmail.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>

bfd/ChangeLog:

* elfxx-riscv.c (riscv_multi_subset_supports): Add `xcvelw` instruction
class.
(riscv_multi_subset_supports_ext): Likewise.

gas/ChangeLog:

* doc/c-riscv.texi: Note XCVelw as an additional ISA extension
for CORE-V.
* testsuite/gas/riscv/cv-elw-fail.d: New test.
* testsuite/gas/riscv/cv-elw-fail.l: New test.
* testsuite/gas/riscv/cv-elw-fail.s: New test.
* testsuite/gas/riscv/cv-elw-fail-march.d: New test.
* testsuite/gas/riscv/cv-elw-fail-march.l: New test.
* testsuite/gas/riscv/cv-elw-fail-march.s: New test.
* testsuite/gas/riscv/cv-elw-pass.d: New test.
* testsuite/gas/riscv/cv-elw-pass.s: New test.
* testsuite/gas/riscv/march-help.l: Add xcvelw string.

opcodes/ChangeLog:

* riscv-opc.c: (riscv_opcode) Add event load instructions.

include/ChangeLog:

* opcode/riscv-opc.h: Add corresponding MATCH and MASK
instruction opcode macros.
* opcode/riscv.h (riscv_insn_class): Add INSN_CLASS_XCVELW.
14 files changed:
bfd/elfxx-riscv.c
gas/doc/c-riscv.texi
gas/testsuite/gas/riscv/cv-elw-fail-march.d [new file with mode: 0644]
gas/testsuite/gas/riscv/cv-elw-fail-march.l [new file with mode: 0644]
gas/testsuite/gas/riscv/cv-elw-fail-march.s [new file with mode: 0644]
gas/testsuite/gas/riscv/cv-elw-fail.d [new file with mode: 0644]
gas/testsuite/gas/riscv/cv-elw-fail.l [new file with mode: 0644]
gas/testsuite/gas/riscv/cv-elw-fail.s [new file with mode: 0644]
gas/testsuite/gas/riscv/cv-elw-pass.d [new file with mode: 0644]
gas/testsuite/gas/riscv/cv-elw-pass.s [new file with mode: 0644]
gas/testsuite/gas/riscv/march-help.l
include/opcode/riscv-opc.h
include/opcode/riscv.h
opcodes/riscv-opc.c