summary refs log tree commit diff stats
path: root/scripts/qapi/error.py
diff options
context:
space:
mode:
authorPaolo Savini <paolo.savini@embecosm.com>2025-03-13 15:23:30 +0000
committerAlistair Francis <alistair.francis@wdc.com>2025-05-19 13:30:24 +1000
commit9425790aceffc09b730a072cc3fc174d1b084f62 (patch)
treef9e59493550d9bf3d7982d27f5f73d35f1441342 /scripts/qapi/error.py
parentdd07ab1121ffd7003ae2cffde3046acd3123bbbd (diff)
downloadfocaccia-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/qapi/error.py')
0 files changed, 0 insertions, 0 deletions