[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 06/25] target/riscv: rvk: add support for zbkc extension
From: |
Alistair Francis |
Subject: |
[PULL 06/25] target/riscv: rvk: add support for zbkc extension |
Date: |
Fri, 29 Apr 2022 14:31:00 +1000 |
From: Weiwei Li <liweiwei@iscas.ac.cn>
- reuse partial instructions of zbc extension, update extension check for them
Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Junqiang Wang <wangjunqiang@iscas.ac.cn>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220423023510.30794-4-liweiwei@iscas.ac.cn>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
---
target/riscv/insn32.decode | 3 ++-
target/riscv/insn_trans/trans_rvb.c.inc | 4 ++--
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/target/riscv/insn32.decode b/target/riscv/insn32.decode
index fdceaf621a..3a49acab37 100644
--- a/target/riscv/insn32.decode
+++ b/target/riscv/insn32.decode
@@ -770,9 +770,10 @@ clzw 0110000 00000 ..... 001 ..... 0011011 @r2
ctzw 0110000 00001 ..... 001 ..... 0011011 @r2
cpopw 0110000 00010 ..... 001 ..... 0011011 @r2
-# *** RV32 Zbc Standard Extension ***
+# *** RV32 Zbc/Zbkc Standard Extension ***
clmul 0000101 .......... 001 ..... 0110011 @r
clmulh 0000101 .......... 011 ..... 0110011 @r
+# *** RV32 extra Zbc Standard Extension ***
clmulr 0000101 .......... 010 ..... 0110011 @r
# *** RV32 Zbs Standard Extension ***
diff --git a/target/riscv/insn_trans/trans_rvb.c.inc
b/target/riscv/insn_trans/trans_rvb.c.inc
index f36577579d..5a5751557d 100644
--- a/target/riscv/insn_trans/trans_rvb.c.inc
+++ b/target/riscv/insn_trans/trans_rvb.c.inc
@@ -489,7 +489,7 @@ static bool trans_slli_uw(DisasContext *ctx, arg_slli_uw *a)
static bool trans_clmul(DisasContext *ctx, arg_clmul *a)
{
- REQUIRE_ZBC(ctx);
+ REQUIRE_EITHER_EXT(ctx, zbc, zbkc);
return gen_arith(ctx, a, EXT_NONE, gen_helper_clmul, NULL);
}
@@ -501,7 +501,7 @@ static void gen_clmulh(TCGv dst, TCGv src1, TCGv src2)
static bool trans_clmulh(DisasContext *ctx, arg_clmulr *a)
{
- REQUIRE_ZBC(ctx);
+ REQUIRE_EITHER_EXT(ctx, zbc, zbkc);
return gen_arith(ctx, a, EXT_NONE, gen_clmulh, NULL);
}
--
2.35.1
- [PULL 00/25] riscv-to-apply queue, Alistair Francis, 2022/04/29
- [PULL 02/25] hw/riscv: Don't add empty bootargs to device tree, Alistair Francis, 2022/04/29
- [PULL 01/25] hw/riscv: spike: Add '/chosen/stdout-path' in device tree unconditionally, Alistair Francis, 2022/04/29
- [PULL 03/25] target/riscv: Support configuarable marchid, mvendorid, mipid CSR values, Alistair Francis, 2022/04/29
- [PULL 04/25] target/riscv: rvk: add cfg properties for zbk* and zk*, Alistair Francis, 2022/04/29
- [PULL 05/25] target/riscv: rvk: add support for zbkb extension, Alistair Francis, 2022/04/29
- [PULL 06/25] target/riscv: rvk: add support for zbkc extension,
Alistair Francis <=
- [PULL 07/25] target/riscv: rvk: add support for zbkx extension, Alistair Francis, 2022/04/29
- [PULL 08/25] crypto: move sm4_sbox from target/arm, Alistair Francis, 2022/04/29
- [PULL 09/25] target/riscv: rvk: add support for zknd/zkne extension in RV32, Alistair Francis, 2022/04/29
- [PULL 10/25] target/riscv: rvk: add support for zkne/zknd extension in RV64, Alistair Francis, 2022/04/29
- [PULL 11/25] target/riscv: rvk: add support for sha256 related instructions in zknh extension, Alistair Francis, 2022/04/29
- [PULL 12/25] target/riscv: rvk: add support for sha512 related instructions for RV32 in zknh extension, Alistair Francis, 2022/04/29
- [PULL 13/25] target/riscv: rvk: add support for sha512 related instructions for RV64 in zknh extension, Alistair Francis, 2022/04/29
- [PULL 14/25] target/riscv: rvk: add support for zksed/zksh extension, Alistair Francis, 2022/04/29
- [PULL 15/25] target/riscv: rvk: add CSR support for Zkr, Alistair Francis, 2022/04/29
- [PULL 16/25] disas/riscv.c: rvk: add disas support for Zbk* and Zk* instructions, Alistair Francis, 2022/04/29