qemu/target/riscv/insn_trans
Richard Henderson a9814e3e08 target/riscv: Minimize the calls to decode_save_opc
The set of instructions that require decode_save_opc for
unwinding is really fairly small -- only insns that can
raise ILLEGAL_INSN at runtime.  This includes CSR, anything
that uses a *new* fp rounding mode, and many privileged insns.

Since unwind info is stored as the difference from the
previous insn, storing a 0 for most insns minimizes the
size of the unwind info.

Booting a debian kernel image to the missing rootfs panic yields

- gen code size       22226819/1026886656
+ gen code size       21601907/1026886656

on 41k TranslationBlocks, a savings of 610kB or a bit less than 3%.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20220604231004.49990-4-richard.henderson@linaro.org>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
2022-07-03 10:03:20 +10:00
..
trans_privileged.c.inc target/riscv: Minimize the calls to decode_save_opc 2022-07-03 10:03:20 +10:00
trans_rva.c.inc
trans_rvb.c.inc target/riscv: rvk: add support for zbkx extension 2022-04-29 10:47:45 +10:00
trans_rvd.c.inc
trans_rvf.c.inc
trans_rvh.c.inc target/riscv: Minimize the calls to decode_save_opc 2022-07-03 10:03:20 +10:00
trans_rvi.c.inc target/riscv: Minimize the calls to decode_save_opc 2022-07-03 10:03:20 +10:00
trans_rvk.c.inc target/riscv: rvk: add support for zksed/zksh extension 2022-04-29 10:47:45 +10:00
trans_rvm.c.inc target/riscv: add support for zmmul extension v0.1 2022-06-10 09:31:42 +10:00
trans_rvv.c.inc target/riscv: trans_rvv: Avoid assert for RV32 and e64 2022-06-10 09:42:12 +10:00
trans_rvzfh.c.inc
trans_svinval.c.inc
trans_xventanacondops.c.inc