[PATCH v3 0/2] RISC-V: Support CORE-V XCVMAC and XCVALU extensions

Mary Bennett mary.bennett@embecosm.com
Mon Nov 6 17:27:13 GMT 2023


Hi

I'm wondering if there are any other changes required for these patches? 
If not, are they all good to merge?

Kind regards,

Mary

On 02/10/2023 03:02, Mary Bennett wrote:
> Changes: v2 -> v3
>   - Rebase against 7a5fa3dbe555794ce401a7435cb91f8695fc9847.
>
> Changes: v1 -> v2
>   - Added MASK_<INSN> for each instruction, as suggested.
>   - Changed operand 'x' to operand 'X', as suggested.
>
> This patch series presents the comprehensive implementation of the MAC and ALU
> extension for CORE-V.
>
> Tested with riscv-gnu-toolchain on binutils, ld, gas and gcc testsuites to
> ensure its correctness and compatibility with the existing codebase.
> However, your input, reviews, and suggestions are invaluable in making this
> extension even more robust.
>
> The CORE-V instructions are described in the specification [1] and work can be
> found in the OpenHW group's Github repository [2].
>
> [1] docs.openhwgroup.org/projects/cv32e40p-user-manual/en/latest/instruction_set_extensions.html
>
> [2] github.com/openhwgroup/corev-binutils-gdb
>
> 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>
>
>
>    RISC-V: Add support for XCValu extension in CV32E40P
>    RISC-V: Add support for XCVmac extension in CV32E40P
>
>   bfd/elfxx-riscv.c                             |  11 ++
>   gas/config/tc-riscv.c                         |  42 ++++-
>   gas/doc/c-riscv.texi                          |  10 ++
>   gas/testsuite/gas/riscv/cv-alu-boundaries.d   |   3 +
>   gas/testsuite/gas/riscv/cv-alu-boundaries.l   |  14 ++
>   gas/testsuite/gas/riscv/cv-alu-boundaries.s   |  27 +++
>   gas/testsuite/gas/riscv/cv-alu-fail-march.d   |   3 +
>   gas/testsuite/gas/riscv/cv-alu-fail-march.l   |  32 ++++
>   gas/testsuite/gas/riscv/cv-alu-fail-march.s   |  33 ++++
>   .../gas/riscv/cv-alu-fail-operand-01.d        |   3 +
>   .../gas/riscv/cv-alu-fail-operand-01.l        |  32 ++++
>   .../gas/riscv/cv-alu-fail-operand-01.s        |  33 ++++
>   .../gas/riscv/cv-alu-fail-operand-02.d        |   3 +
>   .../gas/riscv/cv-alu-fail-operand-02.l        |  32 ++++
>   .../gas/riscv/cv-alu-fail-operand-02.s        |  33 ++++
>   .../gas/riscv/cv-alu-fail-operand-03.d        |   3 +
>   .../gas/riscv/cv-alu-fail-operand-03.l        |  25 +++
>   .../gas/riscv/cv-alu-fail-operand-03.s        |  26 +++
>   .../gas/riscv/cv-alu-fail-operand-04.d        |   3 +
>   .../gas/riscv/cv-alu-fail-operand-04.l        |   3 +
>   .../gas/riscv/cv-alu-fail-operand-04.s        |   4 +
>   .../gas/riscv/cv-alu-fail-operand-05.d        |   3 +
>   .../gas/riscv/cv-alu-fail-operand-05.l        |   9 +
>   .../gas/riscv/cv-alu-fail-operand-05.s        |  10 ++
>   .../gas/riscv/cv-alu-fail-operand-06.d        |   3 +
>   .../gas/riscv/cv-alu-fail-operand-06.l        |   9 +
>   .../gas/riscv/cv-alu-fail-operand-06.s        |  10 ++
>   .../gas/riscv/cv-alu-fail-operand-07.d        |   3 +
>   .../gas/riscv/cv-alu-fail-operand-07.l        |  33 ++++
>   .../gas/riscv/cv-alu-fail-operand-07.s        |  34 ++++
>   gas/testsuite/gas/riscv/cv-alu-insns.d        | 102 ++++++++++++
>   gas/testsuite/gas/riscv/cv-alu-insns.s        | 124 ++++++++++++++
>   gas/testsuite/gas/riscv/cv-mac-fail-march.d   |   3 +
>   gas/testsuite/gas/riscv/cv-mac-fail-march.l   |  23 +++
>   gas/testsuite/gas/riscv/cv-mac-fail-march.s   |  24 +++
>   gas/testsuite/gas/riscv/cv-mac-fail-operand.d |   3 +
>   gas/testsuite/gas/riscv/cv-mac-fail-operand.l | 147 +++++++++++++++++
>   gas/testsuite/gas/riscv/cv-mac-fail-operand.s | 156 ++++++++++++++++++
>   gas/testsuite/gas/riscv/cv-mac-insns.d        |  87 ++++++++++
>   gas/testsuite/gas/riscv/cv-mac-insns.s        |  81 +++++++++
>   include/opcode/riscv-opc.h                    | 104 ++++++++++++
>   include/opcode/riscv.h                        |  12 ++
>   opcodes/riscv-dis.c                           |  14 +-
>   opcodes/riscv-opc.c                           |  61 +++++++
>   44 files changed, 1428 insertions(+), 2 deletions(-)
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-boundaries.d
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-boundaries.l
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-boundaries.s
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-march.d
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-march.l
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-march.s
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-operand-01.d
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-operand-01.l
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-operand-01.s
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-operand-02.d
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-operand-02.l
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-operand-02.s
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-operand-03.d
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-operand-03.l
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-operand-03.s
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-operand-04.d
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-operand-04.l
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-operand-04.s
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-operand-05.d
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-operand-05.l
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-operand-05.s
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-operand-06.d
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-operand-06.l
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-operand-06.s
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-operand-07.d
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-operand-07.l
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-fail-operand-07.s
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-insns.d
>   create mode 100644 gas/testsuite/gas/riscv/cv-alu-insns.s
>   create mode 100644 gas/testsuite/gas/riscv/cv-mac-fail-march.d
>   create mode 100644 gas/testsuite/gas/riscv/cv-mac-fail-march.l
>   create mode 100644 gas/testsuite/gas/riscv/cv-mac-fail-march.s
>   create mode 100644 gas/testsuite/gas/riscv/cv-mac-fail-operand.d
>   create mode 100644 gas/testsuite/gas/riscv/cv-mac-fail-operand.l
>   create mode 100644 gas/testsuite/gas/riscv/cv-mac-fail-operand.s
>   create mode 100644 gas/testsuite/gas/riscv/cv-mac-insns.d
>   create mode 100644 gas/testsuite/gas/riscv/cv-mac-insns.s
>
-- 
Embecosm Limited
22 London Road
Southampton
SO15 2AF
Registered Number: 6577021.
Registered in England & Wales.

Name: Mary Bennett
Title: Compiler Tool Chain Engineer
Phone: 07802418997
Website: www.embecosm.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0xEA0457E97E867D75.asc
Type: application/pgp-keys
Size: 3151 bytes
Desc: OpenPGP public key
URL: <https://sourceware.org/pipermail/binutils/attachments/20231106/c4058b3b/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://sourceware.org/pipermail/binutils/attachments/20231106/c4058b3b/attachment-0001.sig>


More information about the Binutils mailing list