[PATCH qemu v3 0/1] target/riscv: Add Zilsd and Zclsd extension support

~liuxu posted 1 patch 3 months, 2 weeks ago
There is a newer version of this series
target/riscv/cpu.c                        |  4 +
target/riscv/cpu_cfg.h                    |  2 +
target/riscv/insn16.decode                |  8 ++
target/riscv/insn32.decode                | 12 ++-
target/riscv/insn_trans/trans_zclsd.c.inc | 99 +++++++++++++++++++++++
target/riscv/insn_trans/trans_zilsd.c.inc | 89 ++++++++++++++++++++
target/riscv/tcg/tcg-cpu.c                | 16 ++++
target/riscv/translate.c                  |  2 +
8 files changed, 230 insertions(+), 2 deletions(-)
create mode 100644 target/riscv/insn_trans/trans_zclsd.c.inc
create mode 100644 target/riscv/insn_trans/trans_zilsd.c.inc
[PATCH qemu v3 0/1] target/riscv: Add Zilsd and Zclsd extension support
Posted by ~liuxu 3 months, 2 weeks ago
Thanks for your previous reply.

Here are some explanations for the previous questions:
1. In the previous version, the 'int flag' was used to distinguish
whether an instruction was 'ld' or 'ldsp' for different processing. In
this version, a boolean type 'is_1dsp' is defined to make the code
clearer.
2. For the ldsp&sdsp instructions, since 'rs1=2' is defaulted during
insn16 decoding, no additional processing is done in trans *.

Additional modifications in this version of the patch:
1. Zcmlsd renamed to zclsd.
2. Optimized the constraint rules of instructions on registers.
3. Adjustment of implicit relationship between zclsd and zca&zlsd.

lxx (1):
  target/riscv: Add Zilsd and Zclsd extension support

 target/riscv/cpu.c                        |  4 +
 target/riscv/cpu_cfg.h                    |  2 +
 target/riscv/insn16.decode                |  8 ++
 target/riscv/insn32.decode                | 12 ++-
 target/riscv/insn_trans/trans_zclsd.c.inc | 99 +++++++++++++++++++++++
 target/riscv/insn_trans/trans_zilsd.c.inc | 89 ++++++++++++++++++++
 target/riscv/tcg/tcg-cpu.c                | 16 ++++
 target/riscv/translate.c                  |  2 +
 8 files changed, 230 insertions(+), 2 deletions(-)
 create mode 100644 target/riscv/insn_trans/trans_zclsd.c.inc
 create mode 100644 target/riscv/insn_trans/trans_zilsd.c.inc

-- 
2.45.2