[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC 0/1] target/riscv: use tcg ops generation to emulate whole reg rvv
From: |
Paolo Savini |
Subject: |
[RFC 0/1] target/riscv: use tcg ops generation to emulate whole reg rvv loads/stores. |
Date: |
Wed, 18 Dec 2024 17:08:39 +0000 |
The following patch aims at speeding up the emulation of whole register
loads/stores by generating tcg operations rather then going through the call of
a helper function.
The proposed implementation aims at using atomic 16 byte loads and store when
possible and it updates the value of vstart in order to keep the state of the
cpu consistent.
This kind of precaution doesn't seem to be followed by other vector operations
that use tcg ops generation so this might be redundant.
Also the atomicity requirements of qemu loads and stores get removed if we are
running in serial mode (!CF_PARALLEL).
In light of this I wonder whether exceptions could be a concern or not in the
context of tcg ops generation, above all when it comes to updating the state of
the cpu consistently (vstart).
Any feedback welcome.
The proposed implementation aims at replacing the correspondent helper
function, that will be removed in the final version of the patch, unless there
are corner cases where it is still necessary to use it.
Cc: Richard Handerson <richard.henderson@linaro.org>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Alistair Francis <alistair.francis@wdc.com>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Weiwei Li <liwei1518@gmail.com>
Cc: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Cc: Liu Zhiwei <zhiwei_liu@linux.alibaba.com>
Cc: Helene Chelin <helene.chelin@embecosm.com>
Cc: Nathan Egge <negge@google.com>
Cc: Max Chou <max.chou@sifive.com>
Cc: Jeremy Bennett <jeremy.bennett@embecosm.com>
Cc: Craig Blackmore <craig.blackmore@embecosm.com>
Paolo Savini (1):
target/riscv: use tcg ops generation to emulate whole reg rvv
loads/stores.
target/riscv/insn_trans/trans_rvv.c.inc | 104 +++++++++++++-----------
1 file changed, 56 insertions(+), 48 deletions(-)
--
2.34.1
- [RFC 0/1] target/riscv: use tcg ops generation to emulate whole reg rvv loads/stores.,
Paolo Savini <=