]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
RISC-V: Add support for Zcmop extension
authorXiao Zeng <zengxiao@eswincomputing.com>
Wed, 12 Jun 2024 01:28:18 +0000 (09:28 +0800)
committerNelson Chu <nelson@rivosinc.com>
Wed, 7 Aug 2024 08:10:35 +0000 (16:10 +0800)
commitbb566d7fa0aeb05f042f3cc9c706e73adb08f216
treefe2c8130c42677165d86ce296db56ca56a8c4656
parent305fe5ed3fae8eb30be9e94bdc66998fe734657b
RISC-V: Add support for Zcmop extension

This implements the Zcmop (Compressed Zimop) extension, as of version 1.0.

View detailed information in:
<https://github.com/riscv/riscv-isa-manual/blob/main/src/zimop.adoc>

The Zcmop extension requires the Zca extension.

bfd/ChangeLog:

* elfxx-riscv.c (riscv_multi_subset_supports): Handle Zcmop.
(riscv_multi_subset_supports_ext): Ditto.

gas/ChangeLog:

* NEWS: Updated.
* testsuite/gas/riscv/march-help.l: Ditto.
* testsuite/gas/riscv/zcmop.d: New test.
* testsuite/gas/riscv/zcmop.s: New test.

include/ChangeLog:

* opcode/riscv-opc.h (DECLARE_INSN): New declarations for Zcmop.
(MATCH_C_MOP_1, MATCH_C_MOP_3, MATCH_C_MOP_5, MATCH_C_MOP_7,
MATCH_C_MOP_9, MATCH_C_MOP_11, MATCH_C_MOP_13, MATCH_C_MOP_15): Define.
(MASK_C_MOP_1, MASK_C_MOP_3, MASK_C_MOP_5, MASK_C_MOP_7,
MASK_C_MOP_9, MASK_C_MOP_11, MASK_C_MOP_13, MASK_C_MOP_15): Ditto.
* opcode/riscv.h (enum riscv_insn_class): Add INSN_CLASS_ZCMOP.

opcodes/ChangeLog:

* riscv-opc.c: Add Zcmop instructions.
bfd/elfxx-riscv.c
gas/NEWS
gas/testsuite/gas/riscv/imply.d
gas/testsuite/gas/riscv/imply.s
gas/testsuite/gas/riscv/march-help.l
gas/testsuite/gas/riscv/zcmop.d [new file with mode: 0644]
gas/testsuite/gas/riscv/zcmop.s [new file with mode: 0644]
include/opcode/riscv-opc.h
include/opcode/riscv.h
opcodes/riscv-opc.c