[PATCH 1/2] RISC-V: Add OP_VE for .insn
Nelson Chu
nelson@rivosinc.com
Fri Feb 14 03:37:15 GMT 2025
Thanks, committed.
Nelson
On Thu, Feb 13, 2025 at 9:19 PM Kito Cheng <kito.cheng@sifive.com> wrote:
> OP_VE is the opcode space for crypto vector instructions.
>
> Ref:
>
> https://github.com/riscv/riscv-isa-manual/blob/main/src/vector-crypto.adoc#crypto-vector-cryptographic-instructions
> ---
> gas/config/tc-riscv.c | 2 +-
> gas/doc/c-riscv.texi | 3 +++
> gas/testsuite/gas/riscv/insn-dwarf.d | 3 ++-
> gas/testsuite/gas/riscv/insn-na.d | 3 ++-
> gas/testsuite/gas/riscv/insn.d | 3 ++-
> gas/testsuite/gas/riscv/insn.s | 2 ++
> 6 files changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c
> index cfaadea6c49..251a00e579a 100644
> --- a/gas/config/tc-riscv.c
> +++ b/gas/config/tc-riscv.c
> @@ -902,7 +902,7 @@ static const struct opcode_name_t opcode_name_list[] =
> /*reserved 0x5b. */
> {"JAL", 0x6f},
> {"SYSTEM", 0x73},
> - /*reserved 0x77. */
> + {"OP_VE", 0x77},
> {"CUSTOM_3", 0x7b},
> /* >80b 0x7f. */
>
> diff --git a/gas/doc/c-riscv.texi b/gas/doc/c-riscv.texi
> index be3a09487f1..34b92e6adda 100644
> --- a/gas/doc/c-riscv.texi
> +++ b/gas/doc/c-riscv.texi
> @@ -547,6 +547,9 @@ Opcode space for misc instructions.
> @item SYSTEM
> Opcode space for system instructions.
>
> +@item OP_VE
> +Opcode space for crypto vector instructions.
> +
> @item CUSTOM_0
> @item CUSTOM_1
> @item CUSTOM_2
> diff --git a/gas/testsuite/gas/riscv/insn-dwarf.d
> b/gas/testsuite/gas/riscv/insn-dwarf.d
> index b8bd42dff18..d6c6e6e095e 100644
> --- a/gas/testsuite/gas/riscv/insn-dwarf.d
> +++ b/gas/testsuite/gas/riscv/insn-dwarf.d
> @@ -82,5 +82,6 @@ insn.s +78 +0x16a.*
> insn.s +79 +0x180.*
> insn.s +80 +0x196.*
> insn.s +81 +0x1ac.*
> -insn.s +- +0x1c2
> +insn.s +83 +0x1c2.*
> +insn.s +- +0x1c6
> #pass
> diff --git a/gas/testsuite/gas/riscv/insn-na.d
> b/gas/testsuite/gas/riscv/insn-na.d
> index 55bf301656b..47d12974af9 100644
> --- a/gas/testsuite/gas/riscv/insn-na.d
> +++ b/gas/testsuite/gas/riscv/insn-na.d
> @@ -1,4 +1,4 @@
> -#as: -march=rv32ifcv
> +#as: -march=rv32ifcv_zvknha
> #source: insn.s
> #objdump: -dw -Mno-aliases
>
> @@ -81,3 +81,4 @@ Disassembly of section .text:
> [^:]+:[ ]+607f 33cc 55aa cdef 89ab 4567 0123 3210 7654 ba98 00dc[
> ]+\.insn[ ]+22, 0x00dcba98765432100123456789abcdef55aa33cc607f
> [^:]+:[ ]+607f 33cc 55aa cdef 89ab 4567 0123 3210 7654 ba98 fedc[
> ]+\.insn[ ]+22, 0xfedcba98765432100123456789abcdef55aa33cc607f
> [^:]+:[ ]+607f 33cc 55aa cdef 89ab 4567 0123 3210 7654 ba98 fedc[
> ]+\.insn[ ]+22, 0xfedcba98765432100123456789abcdef55aa33cc607f
> +[^:]+:[ ]+ba862277[ ]+vsha2ch\.vv[ ]+v4,v8,v12
> diff --git a/gas/testsuite/gas/riscv/insn.d
> b/gas/testsuite/gas/riscv/insn.d
> index 9411a6b1e19..7ffb4e254ce 100644
> --- a/gas/testsuite/gas/riscv/insn.d
> +++ b/gas/testsuite/gas/riscv/insn.d
> @@ -1,4 +1,4 @@
> -#as: -march=rv32ifcv
> +#as: -march=rv32ifcv_zvknha
> #objdump: -dr
>
> .*:[ ]+file format .*
> @@ -114,3 +114,4 @@ Disassembly of section .text:
> [^:]+:[ ]+607f 33cc 55aa cdef[ ]+\.insn[ ]+22,
> 0xfedcba98765432100123456789abcdef55aa33cc607f
> [^:]+:[ ]+89ab 4567 0123 3210 ?
> [^:]+:[ ]+7654 ba98 fedc ?
> +[^:]+:[ ]+ba862277[ ]+vsha2ch\.vv[ ]+v4,v8,v12
> diff --git a/gas/testsuite/gas/riscv/insn.s
> b/gas/testsuite/gas/riscv/insn.s
> index 48db59b14e8..4f72d5be8f5 100644
> --- a/gas/testsuite/gas/riscv/insn.s
> +++ b/gas/testsuite/gas/riscv/insn.s
> @@ -79,3 +79,5 @@ target:
> .insn 22, 0x00dcba98765432100123456789abcdef55aa33cc607f
> .insn 0xfedcba98765432100123456789abcdef55aa33cc607f
> .insn 22, 0xfedcba98765432100123456789abcdef55aa33cc607f
> +
> + .insn r OP_VE, 0b010, 0b1011101, x4, x12, x8
> --
> 2.34.1
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://sourceware.org/pipermail/binutils/attachments/20250214/a2df2c20/attachment.htm>
More information about the Binutils
mailing list