[PATCH 0/3] RISC-V: Add 'Zmmul' extension
Tsukasa OI
research_trasio@irq.a4lg.com
Sat Jul 9 07:19:03 GMT 2022
Hello,
This patchset adds following extension to GNU Binutils:
- Zmmul (Multiply-only 'M' extension subset)
version 1.0 (recently ratified and version number determined)
This is based on the ISA Manual, draft-20220707-f518c25:
<https://github.com/riscv/riscv-isa-manual/releases/tag/draft-20220707-f518c25>
<https://github.com/riscv/riscv-isa-manual/commit/f518c259c008f926eba4aba67804f62531b6e94b>
This patchset also contains generic 'M' extension testcases.
[RFC: Concerns about implied extension]
Because 'Zmmul' extension is always implied by 'M', existence of 'Zmmul'
extension is reflected on RISC-V attributes section. It means, it also
changes ELF output on RV[32|64]IM with old specification.
If this behavior is undesirable, we could:
- Remove 'Zmmul' from implied extension list
- Check 'M' or 'Zmmul' on INSN_CLASS_ZMMUL
(instruction class may be renamed to INSN_CLASS_M_OR_ZMMUL)
Thanks,
Tsukasa
Tsukasa OI (3):
RISC-V: Add 'M' extension testcases
RISC-V: Add 'Zmmul' extension
RISC-V: Add 'Zmmul' failure testcases
bfd/elfxx-riscv.c | 6 +++++
gas/testsuite/gas/riscv/attribute-09.d | 2 +-
gas/testsuite/gas/riscv/m-ext-32.d | 18 +++++++++++++
gas/testsuite/gas/riscv/m-ext-64.d | 23 ++++++++++++++++
gas/testsuite/gas/riscv/m-ext-fail-xlen-32.d | 4 +++
gas/testsuite/gas/riscv/m-ext-fail-xlen-32.l | 6 +++++
gas/testsuite/gas/riscv/m-ext-fail-zmmul-32.d | 4 +++
gas/testsuite/gas/riscv/m-ext-fail-zmmul-32.l | 5 ++++
gas/testsuite/gas/riscv/m-ext-fail-zmmul-64.d | 4 +++
gas/testsuite/gas/riscv/m-ext-fail-zmmul-64.l | 9 +++++++
gas/testsuite/gas/riscv/m-ext.s | 21 +++++++++++++++
gas/testsuite/gas/riscv/option-arch-02.d | 2 +-
gas/testsuite/gas/riscv/zmmul-32.d | 14 ++++++++++
gas/testsuite/gas/riscv/zmmul-64.d | 15 +++++++++++
gas/testsuite/gas/riscv/zmmul-fail-arch-64.d | 4 +++
gas/testsuite/gas/riscv/zmmul-fail-arch-64.l | 14 ++++++++++
include/opcode/riscv.h | 1 +
opcodes/riscv-opc.c | 26 +++++++++----------
18 files changed, 163 insertions(+), 15 deletions(-)
create mode 100644 gas/testsuite/gas/riscv/m-ext-32.d
create mode 100644 gas/testsuite/gas/riscv/m-ext-64.d
create mode 100644 gas/testsuite/gas/riscv/m-ext-fail-xlen-32.d
create mode 100644 gas/testsuite/gas/riscv/m-ext-fail-xlen-32.l
create mode 100644 gas/testsuite/gas/riscv/m-ext-fail-zmmul-32.d
create mode 100644 gas/testsuite/gas/riscv/m-ext-fail-zmmul-32.l
create mode 100644 gas/testsuite/gas/riscv/m-ext-fail-zmmul-64.d
create mode 100644 gas/testsuite/gas/riscv/m-ext-fail-zmmul-64.l
create mode 100644 gas/testsuite/gas/riscv/m-ext.s
create mode 100644 gas/testsuite/gas/riscv/zmmul-32.d
create mode 100644 gas/testsuite/gas/riscv/zmmul-64.d
create mode 100644 gas/testsuite/gas/riscv/zmmul-fail-arch-64.d
create mode 100644 gas/testsuite/gas/riscv/zmmul-fail-arch-64.l
base-commit: d2acd4b0c5bab349aaa152d60268bc144634a844
--
2.34.1
More information about the Binutils
mailing list