diff --git a/arch/inst/B/andn.yaml b/arch/inst/B/andn.yaml index 82978d32a..a09ed482e 100644 --- a/arch/inst/B/andn.yaml +++ b/arch/inst/B/andn.yaml @@ -6,7 +6,7 @@ andn: This instruction performs the bitwise logical AND operation between `rs1` and the bitwise inversion of `rs2`. definedBy: - anyOf: [B, Zbb] + anyOf: [B, Zbb, Zbkb, Zk, Zkn, Zks] assembly: xd, xs1, xs2 encoding: match: 0100000----------111-----0110011 diff --git a/arch/inst/B/clmul.yaml b/arch/inst/B/clmul.yaml index 7d99b1537..f9394291e 100644 --- a/arch/inst/B/clmul.yaml +++ b/arch/inst/B/clmul.yaml @@ -5,7 +5,7 @@ clmul: description: | `clmul` produces the lower half of the 2*XLEN carry-less product definedBy: - anyOf: [B, Zbc] + anyOf: [B, Zbc, Zbkc, Zk, Zkn, Zks] assembly: xd, xs1, xs2 encoding: match: 0000101----------001-----0110011 diff --git a/arch/inst/B/clmulh.yaml b/arch/inst/B/clmulh.yaml index f82e70ddc..ee6cdb74a 100644 --- a/arch/inst/B/clmulh.yaml +++ b/arch/inst/B/clmulh.yaml @@ -5,7 +5,7 @@ clmulh: description: | `clmulh` produces the upper half of the 2*XLEN carry-less product definedBy: - anyOf: [B, Zbc] + anyOf: [B, Zbc, Zbkc, Zk, Zkn, Zks] assembly: xd, xs1, xs2 encoding: match: 0000101----------011-----0110011 diff --git a/arch/inst/B/orn.yaml b/arch/inst/B/orn.yaml index 9fd1ef345..a54ae78c4 100644 --- a/arch/inst/B/orn.yaml +++ b/arch/inst/B/orn.yaml @@ -5,7 +5,7 @@ orn: description: | This instruction performs the bitwise logical OR operation between rs1 and the bitwise inversion of rs2. definedBy: - anyOf: [B, Zbb, Zbkb] + anyOf: [B, Zbb, Zbkb, Zk, Zkn, Zks] assembly: xd, xs1, xs2 encoding: match: 0100000----------110-----0110011 diff --git a/arch/inst/B/rol.yaml b/arch/inst/B/rol.yaml index 882272194..298719f15 100644 --- a/arch/inst/B/rol.yaml +++ b/arch/inst/B/rol.yaml @@ -5,7 +5,7 @@ rol: description: | This instruction performs a rotate left of rs1 by the amount in least-significant `log2(XLEN)` bits of rs2. definedBy: - anyOf: [B, Zbb, Zbkb] + anyOf: [B, Zbb, Zbkb, Zk, Zkn, Zks] assembly: xd, xs1, xs2 encoding: match: 0110000----------001-----0110011 diff --git a/arch/inst/B/rolw.yaml b/arch/inst/B/rolw.yaml index ee2264e57..0a3d0e9bc 100644 --- a/arch/inst/B/rolw.yaml +++ b/arch/inst/B/rolw.yaml @@ -6,7 +6,7 @@ rolw: This instruction performs a rotate left of the least-significant word of rs1 by the amount in least-significant 5 bits of rs2. The resulting word value is sign-extended by copying bit 31 to all of the more-significant bits. definedBy: - anyOf: [B, Zbb, Zbkb] + anyOf: [B, Zbb, Zbkb, Zk, Zkn, Zks] assembly: xd, xs1, xs2 base: 64 encoding: diff --git a/arch/inst/B/ror.yaml b/arch/inst/B/ror.yaml index 603a6c964..522571edf 100644 --- a/arch/inst/B/ror.yaml +++ b/arch/inst/B/ror.yaml @@ -5,7 +5,7 @@ ror: description: | This instruction performs a rotate right of rs1 by the amount in least-significant `log2(XLEN)` bits of rs2. definedBy: - anyOf: [B, Zbb, Zbkb] + anyOf: [B, Zbb, Zbkb, Zk, Zkn, Zks] assembly: xd, xs1, xs2 encoding: match: 0110000----------101-----0110011 diff --git a/arch/inst/B/rori.yaml b/arch/inst/B/rori.yaml index b59bc31d5..5902f2d85 100644 --- a/arch/inst/B/rori.yaml +++ b/arch/inst/B/rori.yaml @@ -6,7 +6,7 @@ rori: This instruction performs a rotate right of rs1 by the amount in the least-significant log2(XLEN) bits of shamt. For RV32, the encodings corresponding to shamt[5]=1 are reserved. definedBy: - anyOf: [B, Zbb, Zbkb] + anyOf: [B, Zbb, Zbkb, Zk, Zkn, Zks] assembly: xd, xs1, shamt encoding: RV32: diff --git a/arch/inst/B/roriw.yaml b/arch/inst/B/roriw.yaml index 4d7796ff9..846d83ce2 100644 --- a/arch/inst/B/roriw.yaml +++ b/arch/inst/B/roriw.yaml @@ -7,7 +7,7 @@ roriw: the least-significant log2(XLEN) bits of shamt. The resulting word value is sign-extended by copying bit 31 to all of the more-significant bits. definedBy: - anyOf: [B, Zbb, Zbkb] + anyOf: [B, Zbb, Zbkb, Zk, Zkn, Zks] assembly: xd, xs1, shamt base: 64 encoding: diff --git a/arch/inst/B/rorw.yaml b/arch/inst/B/rorw.yaml index 3bba7f966..a34b959e7 100644 --- a/arch/inst/B/rorw.yaml +++ b/arch/inst/B/rorw.yaml @@ -7,7 +7,7 @@ rorw: least-significant 5 bits of rs2. The resultant word is sign-extended by copying bit 31 to all of the more-significant bits. definedBy: - anyOf: [B, Zbb, Zbkb] + anyOf: [B, Zbb, Zbkb, Zk, Zkn, Zks] assembly: xd, xs1, xs2 base: 64 encoding: diff --git a/arch/inst/B/xnor.yaml b/arch/inst/B/xnor.yaml index 498c9fc63..2a4512fe5 100644 --- a/arch/inst/B/xnor.yaml +++ b/arch/inst/B/xnor.yaml @@ -5,7 +5,7 @@ xnor: description: | This instruction performs the bit-wise exclusive-NOR operation on rs1 and rs2. definedBy: - anyOf: [B, Zbb, Zbkb] + anyOf: [B, Zbb, Zbkb, Zk, Zkn, Zks] assembly: xd, xs1, xs2 encoding: match: 0100000----------100-----0110011 diff --git a/arch/inst/B/zext.h.yaml b/arch/inst/B/zext.h.yaml index b6cdb1cc0..7bca6dd6a 100644 --- a/arch/inst/B/zext.h.yaml +++ b/arch/inst/B/zext.h.yaml @@ -10,7 +10,7 @@ zext.h: The *zext.h* instruction is a pseudo-op for `pack` when `Zbkb` is implemented and XLEN == 32. [NOTE] - The *zext.h* instruction is a pseduo-op for `packw` when `Zbkb` is implmeneted and XLEN == 64. + The *zext.h* instruction is a pseudo-op for `packw` when `Zbkb` is implemented and XLEN == 64. definedBy: anyOf: [B, Zbb] encoding: @@ -28,7 +28,8 @@ zext.h: location: 19-15 - name: rd location: 11-7 - excludedBy: Zbkb # zext.h is a pseduo-op for pack/packw when Zbkb is implemented + excludedBy: + anyOf: [Zk, Zkn, Zks, Zbkb] # zext.h instruction is a pseudo-op for `packw` when `Zbkb` is implemented assembly: xd, xs1 access: s: always diff --git a/arch/inst/Zimop/mop.r.n.yaml b/arch/inst/Zimop/mop.r.n.yaml new file mode 100644 index 000000000..69acaabf2 --- /dev/null +++ b/arch/inst/Zimop/mop.r.n.yaml @@ -0,0 +1,94 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +mop.r.n: + long_name: No synopsis available. + description: | + No description available. + definedBy: Zimop + assembly: mop_r_t_30, mop_r_t_27_26, mop_r_t_21_20, xd, xs1 + encoding: + match: 1-00--0111-------100-----1110011 + variables: + - name: mop_r_t_30 + location: 30-30 + - name: mop_r_t_27_26 + location: 27-26 + - name: mop_r_t_21_20 + location: 21-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + pseudoinstructions: + - when: (mop_r_t_30 == 0x0) && (mop_r_t_21_20 == 0x0) && (mop_r_t_27_26 == 0x0) + to: mop.r.0 + - when: (mop_r_t_30 == 0x0) && (mop_r_t_21_20 == 0x1) && (mop_r_t_27_26 == 0x0) + to: mop.r.1 + - when: (mop_r_t_30 == 0x0) && (mop_r_t_21_20 == 0x2) && (mop_r_t_27_26 == 0x0) + to: mop.r.2 + - when: (mop_r_t_30 == 0x0) && (mop_r_t_21_20 == 0x3) && (mop_r_t_27_26 == 0x0) + to: mop.r.3 + - when: (mop_r_t_30 == 0x0) && (mop_r_t_21_20 == 0x0) && (mop_r_t_27_26 == 0x1) + to: mop.r.4 + - when: (mop_r_t_30 == 0x0) && (mop_r_t_21_20 == 0x1) && (mop_r_t_27_26 == 0x1) + to: mop.r.5 + - when: (mop_r_t_30 == 0x0) && (mop_r_t_21_20 == 0x2) && (mop_r_t_27_26 == 0x1) + to: mop.r.6 + - when: (mop_r_t_30 == 0x0) && (mop_r_t_21_20 == 0x3) && (mop_r_t_27_26 == 0x1) + to: mop.r.7 + - when: (mop_r_t_30 == 0x0) && (mop_r_t_21_20 == 0x0) && (mop_r_t_27_26 == 0x2) + to: mop.r.8 + - when: (mop_r_t_30 == 0x0) && (mop_r_t_21_20 == 0x1) && (mop_r_t_27_26 == 0x2) + to: mop.r.9 + - when: (mop_r_t_30 == 0x0) && (mop_r_t_21_20 == 0x2) && (mop_r_t_27_26 == 0x2) + to: mop.r.10 + - when: (mop_r_t_30 == 0x0) && (mop_r_t_21_20 == 0x3) && (mop_r_t_27_26 == 0x2) + to: mop.r.11 + - when: (mop_r_t_30 == 0x0) && (mop_r_t_21_20 == 0x0) && (mop_r_t_27_26 == 0x3) + to: mop.r.12 + - when: (mop_r_t_30 == 0x0) && (mop_r_t_21_20 == 0x1) && (mop_r_t_27_26 == 0x3) + to: mop.r.13 + - when: (mop_r_t_30 == 0x0) && (mop_r_t_21_20 == 0x2) && (mop_r_t_27_26 == 0x3) + to: mop.r.14 + - when: (mop_r_t_30 == 0x0) && (mop_r_t_21_20 == 0x3) && (mop_r_t_27_26 == 0x3) + to: mop.r.15 + - when: (mop_r_t_30 == 0x1) && (mop_r_t_21_20 == 0x0) && (mop_r_t_27_26 == 0x0) + to: mop.r.16 + - when: (mop_r_t_30 == 0x1) && (mop_r_t_21_20 == 0x1) && (mop_r_t_27_26 == 0x0) + to: mop.r.17 + - when: (mop_r_t_30 == 0x1) && (mop_r_t_21_20 == 0x2) && (mop_r_t_27_26 == 0x0) + to: mop.r.18 + - when: (mop_r_t_30 == 0x1) && (mop_r_t_21_20 == 0x3) && (mop_r_t_27_26 == 0x0) + to: mop.r.19 + - when: (mop_r_t_30 == 0x1) && (mop_r_t_21_20 == 0x0) && (mop_r_t_27_26 == 0x1) + to: mop.r.20 + - when: (mop_r_t_30 == 0x1) && (mop_r_t_21_20 == 0x1) && (mop_r_t_27_26 == 0x1) + to: mop.r.21 + - when: (mop_r_t_30 == 0x1) && (mop_r_t_21_20 == 0x2) && (mop_r_t_27_26 == 0x1) + to: mop.r.22 + - when: (mop_r_t_30 == 0x1) && (mop_r_t_21_20 == 0x3) && (mop_r_t_27_26 == 0x1) + to: mop.r.23 + - when: (mop_r_t_30 == 0x1) && (mop_r_t_21_20 == 0x0) && (mop_r_t_27_26 == 0x2) + to: mop.r.24 + - when: (mop_r_t_30 == 0x1) && (mop_r_t_21_20 == 0x1) && (mop_r_t_27_26 == 0x2) + to: mop.r.25 + - when: (mop_r_t_30 == 0x1) && (mop_r_t_21_20 == 0x2) && (mop_r_t_27_26 == 0x2) + to: mop.r.26 + - when: (mop_r_t_30 == 0x1) && (mop_r_t_21_20 == 0x3) && (mop_r_t_27_26 == 0x2) + to: mop.r.27 + - when: (mop_r_t_30 == 0x1) && (mop_r_t_21_20 == 0x0) && (mop_r_t_27_26 == 0x3) + to: mop.r.28 + - when: (mop_r_t_30 == 0x1) && (mop_r_t_21_20 == 0x1) && (mop_r_t_27_26 == 0x3) + to: mop.r.29 + - when: (mop_r_t_30 == 0x1) && (mop_r_t_21_20 == 0x2) && (mop_r_t_27_26 == 0x3) + to: mop.r.30 + - when: (mop_r_t_30 == 0x1) && (mop_r_t_21_20 == 0x3) && (mop_r_t_27_26 == 0x3) + to: mop.r.31 + operation(): | + diff --git a/arch/inst/Zimop/mop.rr.n.yaml b/arch/inst/Zimop/mop.rr.n.yaml new file mode 100644 index 000000000..b0a35eb8c --- /dev/null +++ b/arch/inst/Zimop/mop.rr.n.yaml @@ -0,0 +1,46 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +mop.rr.n: + long_name: No synopsis available. + description: | + No description available. + definedBy: Zimop + assembly: mop_rr_t_30, mop_rr_t_27_26, xd, xs1, xs2 + encoding: + match: 1-00--1----------100-----1110011 + variables: + - name: mop_rr_t_30 + location: 30-30 + - name: mop_rr_t_27_26 + location: 27-26 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + pseudoinstructions: + - when: (mop_rr_t_30 == 0x0) && (mop_rr_t_27_26 == 0x0) + to: mop.rr.0 + - when: (mop_rr_t_30 == 0x0) && (mop_rr_t_27_26 == 0x1) + to: mop.rr.1 + - when: (mop_rr_t_30 == 0x0) && (mop_rr_t_27_26 == 0x2) + to: mop.rr.2 + - when: (mop_rr_t_30 == 0x0) && (mop_rr_t_27_26 == 0x3) + to: mop.rr.3 + - when: (mop_rr_t_30 == 0x1) && (mop_rr_t_27_26 == 0x0) + to: mop.rr.4 + - when: (mop_rr_t_30 == 0x1) && (mop_rr_t_27_26 == 0x1) + to: mop.rr.5 + - when: (mop_rr_t_30 == 0x1) && (mop_rr_t_27_26 == 0x2) + to: mop.rr.6 + - when: (mop_rr_t_30 == 0x1) && (mop_rr_t_27_26 == 0x3) + to: mop.rr.7 + operation(): | + diff --git a/arch/inst/Zk/aes32dsi.yaml b/arch/inst/Zk/aes32dsi.yaml new file mode 100644 index 000000000..ed2481d96 --- /dev/null +++ b/arch/inst/Zk/aes32dsi.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +aes32dsi: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zknd] + base: 32 + assembly: xd, xs1, xs2, bs + encoding: + match: --10101----------000-----0110011 + variables: + - name: bs + location: 31-30 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/aes32dsmi.yaml b/arch/inst/Zk/aes32dsmi.yaml new file mode 100644 index 000000000..5af88bf73 --- /dev/null +++ b/arch/inst/Zk/aes32dsmi.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +aes32dsmi: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zknd] + base: 32 + assembly: xd, xs1, xs2, bs + encoding: + match: --10111----------000-----0110011 + variables: + - name: bs + location: 31-30 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/aes32esi.yaml b/arch/inst/Zk/aes32esi.yaml new file mode 100644 index 000000000..0e1e69242 --- /dev/null +++ b/arch/inst/Zk/aes32esi.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +aes32esi: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zkne] + base: 32 + assembly: xd, xs1, xs2, bs + encoding: + match: --10001----------000-----0110011 + variables: + - name: bs + location: 31-30 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/aes32esmi.yaml b/arch/inst/Zk/aes32esmi.yaml new file mode 100644 index 000000000..417b832f9 --- /dev/null +++ b/arch/inst/Zk/aes32esmi.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +aes32esmi: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zkne] + base: 32 + assembly: xd, xs1, xs2, bs + encoding: + match: --10011----------000-----0110011 + variables: + - name: bs + location: 31-30 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/aes64ds.yaml b/arch/inst/Zk/aes64ds.yaml new file mode 100644 index 000000000..a6ce42312 --- /dev/null +++ b/arch/inst/Zk/aes64ds.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +aes64ds: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zknd] + base: 64 + assembly: xd, xs1, xs2 + encoding: + match: 0011101----------000-----0110011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/aes64dsm.yaml b/arch/inst/Zk/aes64dsm.yaml new file mode 100644 index 000000000..19b28b71a --- /dev/null +++ b/arch/inst/Zk/aes64dsm.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +aes64dsm: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zknd] + base: 64 + assembly: xd, xs1, xs2 + encoding: + match: 0011111----------000-----0110011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/aes64es.yaml b/arch/inst/Zk/aes64es.yaml new file mode 100644 index 000000000..146578b20 --- /dev/null +++ b/arch/inst/Zk/aes64es.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +aes64es: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zkne] + base: 64 + assembly: xd, xs1, xs2 + encoding: + match: 0011001----------000-----0110011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/aes64esm.yaml b/arch/inst/Zk/aes64esm.yaml new file mode 100644 index 000000000..c1393e491 --- /dev/null +++ b/arch/inst/Zk/aes64esm.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +aes64esm: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zkne] + base: 64 + assembly: xd, xs1, xs2 + encoding: + match: 0011011----------000-----0110011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/aes64im.yaml b/arch/inst/Zk/aes64im.yaml new file mode 100644 index 000000000..b9966f8c6 --- /dev/null +++ b/arch/inst/Zk/aes64im.yaml @@ -0,0 +1,25 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +aes64im: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zknd] + base: 64 + assembly: xd, xs1 + encoding: + match: 001100000000-----001-----0010011 + variables: + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/aes64ks1i.yaml b/arch/inst/Zk/aes64ks1i.yaml new file mode 100644 index 000000000..d5b51f52c --- /dev/null +++ b/arch/inst/Zk/aes64ks1i.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +aes64ks1i: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zknd, Zkne] + base: 64 + assembly: xd, xs1, rnum + encoding: + match: 00110001---------001-----0010011 + variables: + - name: rnum + location: 23-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/aes64ks2.yaml b/arch/inst/Zk/aes64ks2.yaml new file mode 100644 index 000000000..117f1158c --- /dev/null +++ b/arch/inst/Zk/aes64ks2.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +aes64ks2: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zknd, Zkne] + base: 64 + assembly: xd, xs1, xs2 + encoding: + match: 0111111----------000-----0110011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/pack.yaml b/arch/inst/Zk/pack.yaml new file mode 100644 index 000000000..c19462762 --- /dev/null +++ b/arch/inst/Zk/pack.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +pack: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zbkb, Zk, Zkn, Zks] + assembly: xd, xs1, xs2 + encoding: + match: 0000100----------100-----0110011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/packh.yaml b/arch/inst/Zk/packh.yaml new file mode 100644 index 000000000..2561af41b --- /dev/null +++ b/arch/inst/Zk/packh.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +packh: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zbkb, Zk, Zkn, Zks] + assembly: xd, xs1, xs2 + encoding: + match: 0000100----------111-----0110011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/packw.yaml b/arch/inst/Zk/packw.yaml new file mode 100644 index 000000000..71871de5b --- /dev/null +++ b/arch/inst/Zk/packw.yaml @@ -0,0 +1,30 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +packw: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zbkb, Zk, Zkn, Zks] + base: 64 + assembly: xd, xs1, xs2 + encoding: + match: 0000100----------100-----0111011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + pseudoinstructions: + - when: (rs2 == 0x0) + to: zext.h + operation(): | + diff --git a/arch/inst/Zk/sha256sig0.yaml b/arch/inst/Zk/sha256sig0.yaml new file mode 100644 index 000000000..ad1f81b39 --- /dev/null +++ b/arch/inst/Zk/sha256sig0.yaml @@ -0,0 +1,24 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +sha256sig0: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zknh] + assembly: xd, xs1 + encoding: + match: 000100000010-----001-----0010011 + variables: + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/sha256sig1.yaml b/arch/inst/Zk/sha256sig1.yaml new file mode 100644 index 000000000..5b979578f --- /dev/null +++ b/arch/inst/Zk/sha256sig1.yaml @@ -0,0 +1,24 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +sha256sig1: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zknh] + assembly: xd, xs1 + encoding: + match: 000100000011-----001-----0010011 + variables: + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/sha256sum0.yaml b/arch/inst/Zk/sha256sum0.yaml new file mode 100644 index 000000000..6cf26bda2 --- /dev/null +++ b/arch/inst/Zk/sha256sum0.yaml @@ -0,0 +1,24 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +sha256sum0: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zknh] + assembly: xd, xs1 + encoding: + match: 000100000000-----001-----0010011 + variables: + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/sha256sum1.yaml b/arch/inst/Zk/sha256sum1.yaml new file mode 100644 index 000000000..98bc7c420 --- /dev/null +++ b/arch/inst/Zk/sha256sum1.yaml @@ -0,0 +1,24 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +sha256sum1: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zknh] + assembly: xd, xs1 + encoding: + match: 000100000001-----001-----0010011 + variables: + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/sha512sig0.yaml b/arch/inst/Zk/sha512sig0.yaml new file mode 100644 index 000000000..7e36fb5d8 --- /dev/null +++ b/arch/inst/Zk/sha512sig0.yaml @@ -0,0 +1,25 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +sha512sig0: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zknh] + base: 64 + assembly: xd, xs1 + encoding: + match: 000100000110-----001-----0010011 + variables: + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/sha512sig0h.yaml b/arch/inst/Zk/sha512sig0h.yaml new file mode 100644 index 000000000..7aa005691 --- /dev/null +++ b/arch/inst/Zk/sha512sig0h.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +sha512sig0h: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zknh] + base: 32 + assembly: xd, xs1, xs2 + encoding: + match: 0101110----------000-----0110011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/sha512sig0l.yaml b/arch/inst/Zk/sha512sig0l.yaml new file mode 100644 index 000000000..e233b6826 --- /dev/null +++ b/arch/inst/Zk/sha512sig0l.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +sha512sig0l: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zknh] + base: 32 + assembly: xd, xs1, xs2 + encoding: + match: 0101010----------000-----0110011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/sha512sig1.yaml b/arch/inst/Zk/sha512sig1.yaml new file mode 100644 index 000000000..1b4558038 --- /dev/null +++ b/arch/inst/Zk/sha512sig1.yaml @@ -0,0 +1,25 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +sha512sig1: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zknh] + base: 64 + assembly: xd, xs1 + encoding: + match: 000100000111-----001-----0010011 + variables: + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/sha512sig1h.yaml b/arch/inst/Zk/sha512sig1h.yaml new file mode 100644 index 000000000..52c3e5881 --- /dev/null +++ b/arch/inst/Zk/sha512sig1h.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +sha512sig1h: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zknh] + base: 32 + assembly: xd, xs1, xs2 + encoding: + match: 0101111----------000-----0110011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/sha512sig1l.yaml b/arch/inst/Zk/sha512sig1l.yaml new file mode 100644 index 000000000..8e281fadb --- /dev/null +++ b/arch/inst/Zk/sha512sig1l.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +sha512sig1l: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zknh] + base: 32 + assembly: xd, xs1, xs2 + encoding: + match: 0101011----------000-----0110011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/sha512sum0.yaml b/arch/inst/Zk/sha512sum0.yaml new file mode 100644 index 000000000..0eff8a989 --- /dev/null +++ b/arch/inst/Zk/sha512sum0.yaml @@ -0,0 +1,25 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +sha512sum0: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zknh] + base: 64 + assembly: xd, xs1 + encoding: + match: 000100000100-----001-----0010011 + variables: + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/sha512sum0r.yaml b/arch/inst/Zk/sha512sum0r.yaml new file mode 100644 index 000000000..40dda3d20 --- /dev/null +++ b/arch/inst/Zk/sha512sum0r.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +sha512sum0r: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zknh] + base: 32 + assembly: xd, xs1, xs2 + encoding: + match: 0101000----------000-----0110011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/sha512sum1.yaml b/arch/inst/Zk/sha512sum1.yaml new file mode 100644 index 000000000..9b95f7268 --- /dev/null +++ b/arch/inst/Zk/sha512sum1.yaml @@ -0,0 +1,25 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +sha512sum1: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zknh] + base: 64 + assembly: xd, xs1 + encoding: + match: 000100000101-----001-----0010011 + variables: + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zk/sha512sum1r.yaml b/arch/inst/Zk/sha512sum1r.yaml new file mode 100644 index 000000000..1795ec57f --- /dev/null +++ b/arch/inst/Zk/sha512sum1r.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +sha512sum1r: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zk, Zkn, Zknh] + base: 32 + assembly: xd, xs1, xs2 + encoding: + match: 0101001----------000-----0110011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: true + operation(): | + diff --git a/arch/inst/Zks/sm3p0.yaml b/arch/inst/Zks/sm3p0.yaml new file mode 100644 index 000000000..47ee47487 --- /dev/null +++ b/arch/inst/Zks/sm3p0.yaml @@ -0,0 +1,24 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +sm3p0: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zks, Zksh] + assembly: xd, xs1 + encoding: + match: 000100001000-----001-----0010011 + variables: + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zks/sm3p1.yaml b/arch/inst/Zks/sm3p1.yaml new file mode 100644 index 000000000..2a21cd25d --- /dev/null +++ b/arch/inst/Zks/sm3p1.yaml @@ -0,0 +1,24 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +sm3p1: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zks, Zksh] + assembly: xd, xs1 + encoding: + match: 000100001001-----001-----0010011 + variables: + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zks/sm4ed.yaml b/arch/inst/Zks/sm4ed.yaml new file mode 100644 index 000000000..24ac67f90 --- /dev/null +++ b/arch/inst/Zks/sm4ed.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +sm4ed: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zks, Zksed] + assembly: xd, xs1, xs2, bs + encoding: + match: --11000----------000-----0110011 + variables: + - name: bs + location: 31-30 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zks/sm4ks.yaml b/arch/inst/Zks/sm4ks.yaml new file mode 100644 index 000000000..2747eda6c --- /dev/null +++ b/arch/inst/Zks/sm4ks.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +sm4ks: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zks, Zksed] + assembly: xd, xs1, xs2, bs + encoding: + match: --11010----------000-----0110011 + variables: + - name: bs + location: 31-30 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvbb/vandn.vv.yaml b/arch/inst/Zvbb/vandn.vv.yaml new file mode 100644 index 000000000..2451fdd8b --- /dev/null +++ b/arch/inst/Zvbb/vandn.vv.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vandn.vv: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvbb, Zvkn, Zvks] + assembly: vm, vs2, vs1, vd + encoding: + match: 000001-----------000-----1010111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: vs1 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvbb/vandn.vx.yaml b/arch/inst/Zvbb/vandn.vx.yaml new file mode 100644 index 000000000..220e7d8b3 --- /dev/null +++ b/arch/inst/Zvbb/vandn.vx.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vandn.vx: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvbb, Zvkn, Zvks] + assembly: vm, vs2, xs1, vd + encoding: + match: 000001-----------100-----1010111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvbb/vbrev.v.yaml b/arch/inst/Zvbb/vbrev.v.yaml new file mode 100644 index 000000000..5e05e5ade --- /dev/null +++ b/arch/inst/Zvbb/vbrev.v.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vbrev.v: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvbb, Zvkn, Zvks] + assembly: vm, vs2, vd + encoding: + match: 010010------01010010-----1010111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvbb/vbrev8.v.yaml b/arch/inst/Zvbb/vbrev8.v.yaml new file mode 100644 index 000000000..7418c0ac2 --- /dev/null +++ b/arch/inst/Zvbb/vbrev8.v.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vbrev8.v: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvbb, Zvkn, Zvks] + assembly: vm, vs2, vd + encoding: + match: 010010------01000010-----1010111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvbb/vclz.v.yaml b/arch/inst/Zvbb/vclz.v.yaml new file mode 100644 index 000000000..24e7a1a0f --- /dev/null +++ b/arch/inst/Zvbb/vclz.v.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vclz.v: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvbb, Zvkn, Zvks] + assembly: vm, vs2, vd + encoding: + match: 010010------01100010-----1010111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvbb/vcpop.v.yaml b/arch/inst/Zvbb/vcpop.v.yaml new file mode 100644 index 000000000..7ce032804 --- /dev/null +++ b/arch/inst/Zvbb/vcpop.v.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vcpop.v: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvbb, Zvkn, Zvks] + assembly: vm, vs2, vd + encoding: + match: 010010------01110010-----1010111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvbb/vctz.v.yaml b/arch/inst/Zvbb/vctz.v.yaml new file mode 100644 index 000000000..6dde98235 --- /dev/null +++ b/arch/inst/Zvbb/vctz.v.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vctz.v: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvbb, Zvkn, Zvks] + assembly: vm, vs2, vd + encoding: + match: 010010------01101010-----1010111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvbb/vrev8.v.yaml b/arch/inst/Zvbb/vrev8.v.yaml new file mode 100644 index 000000000..12d242602 --- /dev/null +++ b/arch/inst/Zvbb/vrev8.v.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vrev8.v: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvbb, Zvkn, Zvks] + assembly: vm, vs2, vd + encoding: + match: 010010------01001010-----1010111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvbb/vrol.vv.yaml b/arch/inst/Zvbb/vrol.vv.yaml new file mode 100644 index 000000000..5bf9ee4c9 --- /dev/null +++ b/arch/inst/Zvbb/vrol.vv.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vrol.vv: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvbb, Zvkn, Zvks] + assembly: vm, vs2, vs1, vd + encoding: + match: 010101-----------000-----1010111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: vs1 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvbb/vrol.vx.yaml b/arch/inst/Zvbb/vrol.vx.yaml new file mode 100644 index 000000000..29f747eaf --- /dev/null +++ b/arch/inst/Zvbb/vrol.vx.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vrol.vx: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvbb, Zvkn, Zvks] + assembly: vm, vs2, xs1, vd + encoding: + match: 010101-----------100-----1010111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvbb/vror.vi.yaml b/arch/inst/Zvbb/vror.vi.yaml new file mode 100644 index 000000000..ad3d0f3b4 --- /dev/null +++ b/arch/inst/Zvbb/vror.vi.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vror.vi: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvbb, Zvkn, Zvks] + assembly: vm, vs2, vd, imm + encoding: + match: 01010------------011-----1010111 + variables: + - name: imm + location: 26|19-15 + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvbb/vror.vv.yaml b/arch/inst/Zvbb/vror.vv.yaml new file mode 100644 index 000000000..879cd5c7a --- /dev/null +++ b/arch/inst/Zvbb/vror.vv.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vror.vv: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvbb, Zvkn, Zvks] + assembly: vm, vs2, vs1, vd + encoding: + match: 010100-----------000-----1010111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: vs1 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvbb/vror.vx.yaml b/arch/inst/Zvbb/vror.vx.yaml new file mode 100644 index 000000000..62c484d27 --- /dev/null +++ b/arch/inst/Zvbb/vror.vx.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vror.vx: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvbb, Zvkn, Zvks] + assembly: vm, vs2, xs1, vd + encoding: + match: 010100-----------100-----1010111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvbb/vwsll.vi.yaml b/arch/inst/Zvbb/vwsll.vi.yaml new file mode 100644 index 000000000..d616fdb87 --- /dev/null +++ b/arch/inst/Zvbb/vwsll.vi.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vwsll.vi: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvbb, Zvkn, Zvks] + assembly: vm, vs2, vd, imm + encoding: + match: 110101-----------011-----1010111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: zimm5 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvbb/vwsll.vv.yaml b/arch/inst/Zvbb/vwsll.vv.yaml new file mode 100644 index 000000000..f35666130 --- /dev/null +++ b/arch/inst/Zvbb/vwsll.vv.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vwsll.vv: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvbb, Zvkn, Zvks] + assembly: vm, vs2, vs1, vd + encoding: + match: 110101-----------000-----1010111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: vs1 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvbb/vwsll.vx.yaml b/arch/inst/Zvbb/vwsll.vx.yaml new file mode 100644 index 000000000..3361e5c8f --- /dev/null +++ b/arch/inst/Zvbb/vwsll.vx.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vwsll.vx: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvbb, Zvkn, Zvks] + assembly: vm, vs2, xs1, vd + encoding: + match: 110101-----------100-----1010111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvbc/vclmul.vv.yaml b/arch/inst/Zvbc/vclmul.vv.yaml new file mode 100644 index 000000000..cc40f7b2e --- /dev/null +++ b/arch/inst/Zvbc/vclmul.vv.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vclmul.vv: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvbc, Zvkn, Zvks] + assembly: vm, vs2, vs1, vd + encoding: + match: 001100-----------010-----1010111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: vs1 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvbc/vclmul.vx.yaml b/arch/inst/Zvbc/vclmul.vx.yaml new file mode 100644 index 000000000..4de540cea --- /dev/null +++ b/arch/inst/Zvbc/vclmul.vx.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vclmul.vx: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvbc, Zvkn, Zvks] + assembly: vm, vs2, xs1, vd + encoding: + match: 001100-----------110-----1010111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvbc/vclmulh.vv.yaml b/arch/inst/Zvbc/vclmulh.vv.yaml new file mode 100644 index 000000000..822773bc4 --- /dev/null +++ b/arch/inst/Zvbc/vclmulh.vv.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vclmulh.vv: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvbc, Zvkn, Zvks] + assembly: vm, vs2, vs1, vd + encoding: + match: 001101-----------010-----1010111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: vs1 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvbc/vclmulh.vx.yaml b/arch/inst/Zvbc/vclmulh.vx.yaml new file mode 100644 index 000000000..14b8c33c7 --- /dev/null +++ b/arch/inst/Zvbc/vclmulh.vx.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vclmulh.vx: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvbc, Zvkn, Zvks] + assembly: vm, vs2, xs1, vd + encoding: + match: 001101-----------110-----1010111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvfbfmin/vfncvtbf16.f.f.w.yaml b/arch/inst/Zvfbfmin/vfncvtbf16.f.f.w.yaml new file mode 100644 index 000000000..8c4c0f7a3 --- /dev/null +++ b/arch/inst/Zvfbfmin/vfncvtbf16.f.f.w.yaml @@ -0,0 +1,25 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vfncvtbf16.f.f.w: + long_name: No synopsis available. + description: | + No description available. + definedBy: Zvfbfmin + assembly: vm, vs2, vd + encoding: + match: 010010------11101001-----1010111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvfbfmin/vfwcvtbf16.f.f.v.yaml b/arch/inst/Zvfbfmin/vfwcvtbf16.f.f.v.yaml new file mode 100644 index 000000000..930df2707 --- /dev/null +++ b/arch/inst/Zvfbfmin/vfwcvtbf16.f.f.v.yaml @@ -0,0 +1,25 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vfwcvtbf16.f.f.v: + long_name: No synopsis available. + description: | + No description available. + definedBy: Zvfbfmin + assembly: vm, vs2, vd + encoding: + match: 010010------01101001-----1010111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvfbfwma/vfwmaccbf16.vf.yaml b/arch/inst/Zvfbfwma/vfwmaccbf16.vf.yaml new file mode 100644 index 000000000..56943c085 --- /dev/null +++ b/arch/inst/Zvfbfwma/vfwmaccbf16.vf.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vfwmaccbf16.vf: + long_name: No synopsis available. + description: | + No description available. + definedBy: Zvfbfwma + assembly: vm, vs2, xs1, vd + encoding: + match: 111011-----------101-----1010111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvfbfwma/vfwmaccbf16.vv.yaml b/arch/inst/Zvfbfwma/vfwmaccbf16.vv.yaml new file mode 100644 index 000000000..1d258124b --- /dev/null +++ b/arch/inst/Zvfbfwma/vfwmaccbf16.vv.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vfwmaccbf16.vv: + long_name: No synopsis available. + description: | + No description available. + definedBy: Zvfbfwma + assembly: vm, vs2, vs1, vd + encoding: + match: 111011-----------001-----1010111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: vs1 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvkg/vghsh.vv.yaml b/arch/inst/Zvkg/vghsh.vv.yaml new file mode 100644 index 000000000..6621787d8 --- /dev/null +++ b/arch/inst/Zvkg/vghsh.vv.yaml @@ -0,0 +1,25 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vghsh.vv: + long_name: No synopsis available. + description: | + No description available. + definedBy: Zvkg + assembly: vs2, vs1, vd + encoding: + match: 1011001----------010-----1110111 + variables: + - name: vs2 + location: 24-20 + - name: vs1 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvkg/vgmul.vv.yaml b/arch/inst/Zvkg/vgmul.vv.yaml new file mode 100644 index 000000000..54471d29a --- /dev/null +++ b/arch/inst/Zvkg/vgmul.vv.yaml @@ -0,0 +1,23 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vgmul.vv: + long_name: No synopsis available. + description: | + No description available. + definedBy: Zvkg + assembly: vs2, vd + encoding: + match: 1010001-----10001010-----1110111 + variables: + - name: vs2 + location: 24-20 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvkn/vaesdf.vs.yaml b/arch/inst/Zvkn/vaesdf.vs.yaml new file mode 100644 index 000000000..ca1f5b7ff --- /dev/null +++ b/arch/inst/Zvkn/vaesdf.vs.yaml @@ -0,0 +1,24 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vaesdf.vs: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvkn, Zvkned] + assembly: vs2, vd + encoding: + match: 1010011-----00001010-----1110111 + variables: + - name: vs2 + location: 24-20 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvkn/vaesdf.vv.yaml b/arch/inst/Zvkn/vaesdf.vv.yaml new file mode 100644 index 000000000..61ebaeffc --- /dev/null +++ b/arch/inst/Zvkn/vaesdf.vv.yaml @@ -0,0 +1,24 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vaesdf.vv: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvkn, Zvkned] + assembly: vs2, vd + encoding: + match: 1010001-----00001010-----1110111 + variables: + - name: vs2 + location: 24-20 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvkn/vaesdm.vs.yaml b/arch/inst/Zvkn/vaesdm.vs.yaml new file mode 100644 index 000000000..24154a4ef --- /dev/null +++ b/arch/inst/Zvkn/vaesdm.vs.yaml @@ -0,0 +1,24 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vaesdm.vs: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvkn, Zvkned] + assembly: vs2, vd + encoding: + match: 1010011-----00000010-----1110111 + variables: + - name: vs2 + location: 24-20 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvkn/vaesdm.vv.yaml b/arch/inst/Zvkn/vaesdm.vv.yaml new file mode 100644 index 000000000..b9bbc6c9c --- /dev/null +++ b/arch/inst/Zvkn/vaesdm.vv.yaml @@ -0,0 +1,24 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vaesdm.vv: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvkn, Zvkned] + assembly: vs2, vd + encoding: + match: 1010001-----00000010-----1110111 + variables: + - name: vs2 + location: 24-20 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvkn/vaesef.vs.yaml b/arch/inst/Zvkn/vaesef.vs.yaml new file mode 100644 index 000000000..a22ce5bcf --- /dev/null +++ b/arch/inst/Zvkn/vaesef.vs.yaml @@ -0,0 +1,24 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vaesef.vs: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvkn, Zvkned] + assembly: vs2, vd + encoding: + match: 1010011-----00011010-----1110111 + variables: + - name: vs2 + location: 24-20 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvkn/vaesef.vv.yaml b/arch/inst/Zvkn/vaesef.vv.yaml new file mode 100644 index 000000000..8495cca4f --- /dev/null +++ b/arch/inst/Zvkn/vaesef.vv.yaml @@ -0,0 +1,24 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vaesef.vv: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvkn, Zvkned] + assembly: vs2, vd + encoding: + match: 1010001-----00011010-----1110111 + variables: + - name: vs2 + location: 24-20 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvkn/vaesem.vs.yaml b/arch/inst/Zvkn/vaesem.vs.yaml new file mode 100644 index 000000000..f9c8a99dd --- /dev/null +++ b/arch/inst/Zvkn/vaesem.vs.yaml @@ -0,0 +1,24 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vaesem.vs: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvkn, Zvkned] + assembly: vs2, vd + encoding: + match: 1010011-----00010010-----1110111 + variables: + - name: vs2 + location: 24-20 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvkn/vaesem.vv.yaml b/arch/inst/Zvkn/vaesem.vv.yaml new file mode 100644 index 000000000..cf2fb6cc4 --- /dev/null +++ b/arch/inst/Zvkn/vaesem.vv.yaml @@ -0,0 +1,24 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vaesem.vv: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvkn, Zvkned] + assembly: vs2, vd + encoding: + match: 1010001-----00010010-----1110111 + variables: + - name: vs2 + location: 24-20 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvkn/vaeskf1.vi.yaml b/arch/inst/Zvkn/vaeskf1.vi.yaml new file mode 100644 index 000000000..d3b688f78 --- /dev/null +++ b/arch/inst/Zvkn/vaeskf1.vi.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vaeskf1.vi: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvkn, Zvkned] + assembly: vs2, vd, imm + encoding: + match: 1000101----------010-----1110111 + variables: + - name: vs2 + location: 24-20 + - name: zimm5 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvkn/vaeskf2.vi.yaml b/arch/inst/Zvkn/vaeskf2.vi.yaml new file mode 100644 index 000000000..4830e4f37 --- /dev/null +++ b/arch/inst/Zvkn/vaeskf2.vi.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vaeskf2.vi: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvkn, Zvkned] + assembly: vs2, vd, imm + encoding: + match: 1010101----------010-----1110111 + variables: + - name: vs2 + location: 24-20 + - name: zimm5 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvkn/vaesz.vs.yaml b/arch/inst/Zvkn/vaesz.vs.yaml new file mode 100644 index 000000000..a0454556f --- /dev/null +++ b/arch/inst/Zvkn/vaesz.vs.yaml @@ -0,0 +1,24 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vaesz.vs: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvkn, Zvkned] + assembly: vs2, vd + encoding: + match: 1010011-----00111010-----1110111 + variables: + - name: vs2 + location: 24-20 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvkn/vsha2ch.vv.yaml b/arch/inst/Zvkn/vsha2ch.vv.yaml new file mode 100644 index 000000000..30112ce04 --- /dev/null +++ b/arch/inst/Zvkn/vsha2ch.vv.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vsha2ch.vv: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvkn, Zvknha, Zvknhb] + assembly: vs2, vs1, vd + encoding: + match: 1011101----------010-----1110111 + variables: + - name: vs2 + location: 24-20 + - name: vs1 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvkn/vsha2cl.vv.yaml b/arch/inst/Zvkn/vsha2cl.vv.yaml new file mode 100644 index 000000000..2824416f4 --- /dev/null +++ b/arch/inst/Zvkn/vsha2cl.vv.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vsha2cl.vv: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvkn, Zvknha, Zvknhb] + assembly: vs2, vs1, vd + encoding: + match: 1011111----------010-----1110111 + variables: + - name: vs2 + location: 24-20 + - name: vs1 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvkn/vsha2ms.vv.yaml b/arch/inst/Zvkn/vsha2ms.vv.yaml new file mode 100644 index 000000000..4355c230e --- /dev/null +++ b/arch/inst/Zvkn/vsha2ms.vv.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vsha2ms.vv: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvkn, Zvknha, Zvknhb] + assembly: vs2, vs1, vd + encoding: + match: 1011011----------010-----1110111 + variables: + - name: vs2 + location: 24-20 + - name: vs1 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvks/vsm3c.vi.yaml b/arch/inst/Zvks/vsm3c.vi.yaml new file mode 100644 index 000000000..a7920c09a --- /dev/null +++ b/arch/inst/Zvks/vsm3c.vi.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vsm3c.vi: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvks, Zvksh] + assembly: vs2, vd, imm + encoding: + match: 1010111----------010-----1110111 + variables: + - name: vs2 + location: 24-20 + - name: zimm5 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvks/vsm3me.vv.yaml b/arch/inst/Zvks/vsm3me.vv.yaml new file mode 100644 index 000000000..a4c8393a8 --- /dev/null +++ b/arch/inst/Zvks/vsm3me.vv.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vsm3me.vv: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvks, Zvksh] + assembly: vs2, vs1, vd + encoding: + match: 1000001----------010-----1110111 + variables: + - name: vs2 + location: 24-20 + - name: vs1 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvks/vsm4k.vi.yaml b/arch/inst/Zvks/vsm4k.vi.yaml new file mode 100644 index 000000000..30451cc36 --- /dev/null +++ b/arch/inst/Zvks/vsm4k.vi.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vsm4k.vi: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvks, Zvksed] + assembly: vs2, vd, imm + encoding: + match: 1000011----------010-----1110111 + variables: + - name: vs2 + location: 24-20 + - name: zimm5 + location: 19-15 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvks/vsm4r.vs.yaml b/arch/inst/Zvks/vsm4r.vs.yaml new file mode 100644 index 000000000..1632907cd --- /dev/null +++ b/arch/inst/Zvks/vsm4r.vs.yaml @@ -0,0 +1,24 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vsm4r.vs: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvks, Zvksed] + assembly: vs2, vd + encoding: + match: 1010011-----10000010-----1110111 + variables: + - name: vs2 + location: 24-20 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | + diff --git a/arch/inst/Zvks/vsm4r.vv.yaml b/arch/inst/Zvks/vsm4r.vv.yaml new file mode 100644 index 000000000..ebd8aa3be --- /dev/null +++ b/arch/inst/Zvks/vsm4r.vv.yaml @@ -0,0 +1,24 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +vsm4r.vv: + long_name: No synopsis available. + description: | + No description available. + definedBy: + anyOf: [Zvks, Zvksed] + assembly: vs2, vd + encoding: + match: 1010001-----10000010-----1110111 + variables: + - name: vs2 + location: 24-20 + - name: vd + location: 11-7 + access: + s: always + u: always + vs: always + vu: always + data_independent_timing: false + operation(): | +