diff options
| author | Paolo Savini <paolo.savini@embecosm.com> | 2025-03-13 15:23:30 +0000 |
|---|---|---|
| committer | Alistair Francis <alistair.francis@wdc.com> | 2025-05-19 13:30:24 +1000 |
| commit | 9425790aceffc09b730a072cc3fc174d1b084f62 (patch) | |
| tree | f9e59493550d9bf3d7982d27f5f73d35f1441342 /scripts/probe-gdb-support.py | |
| parent | dd07ab1121ffd7003ae2cffde3046acd3123bbbd (diff) | |
| download | focaccia-qemu-9425790aceffc09b730a072cc3fc174d1b084f62.tar.gz focaccia-qemu-9425790aceffc09b730a072cc3fc174d1b084f62.zip | |
target/riscv: use tcg ops generation to emulate whole reg rvv loads/stores.
This patch replaces the use of a helper function with direct tcg ops generation in order to emulate whole register loads and stores. This is done in order to improve the performance of QEMU. We still use the helper function when vstart is not 0 at the beginning of the emulation of the whole register load or store or when we would end up generating partial loads or stores of vector elements (e.g. emulating 64 bits element loads with pairs of 32 bits loads on hosts with 32 bits registers). The latter condition ensures that we are not surprised by a trap in mid-element and consecutively that we can update vstart correctly. We also use the helper function when it performs better than tcg for specific combinations of vector length, number of fields and element size. Signed-off-by: Paolo Savini <paolo.savini@embecosm.com> Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> Reviewed-by: Richard Handerson <richard.henderson@linaro.org> Reviewed-by: Max Chou <max.chou@sifive.com> Reviewed-by: "Alex Bennée" <alex.bennee@linaro.org> Message-ID: <20250313152330.398396-2-paolo.savini@embecosm.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Diffstat (limited to 'scripts/probe-gdb-support.py')
0 files changed, 0 insertions, 0 deletions