summary refs log tree commit diff stats
path: root/python/qemu/qmp/qemu_ga_client.py
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2021-06-17 13:16:28 +0100
committerPeter Maydell <peter.maydell@linaro.org>2021-06-24 14:58:48 +0100
commit4f57ef959cf83cc780658c7e97ba5f737aa666f2 (patch)
tree48173f5972bf99439921f4c9116a002b1691b601 /python/qemu/qmp/qemu_ga_client.py
parent6f060a636bf46869e43a28a0f426ddaea16314f9 (diff)
downloadfocaccia-qemu-4f57ef959cf83cc780658c7e97ba5f737aa666f2.tar.gz
focaccia-qemu-4f57ef959cf83cc780658c7e97ba5f737aa666f2.zip
target/arm: Make VMOV scalar <-> gpreg beatwise for MVE
In a CPU with MVE, the VMOV (vector lane to general-purpose register)
and VMOV (general-purpose register to vector lane) insns are not
predicated, but they are subject to beatwise execution if they
are not in an IT block.

Since our implementation always executes all 4 beats in one tick,
this means only that we need to handle PSR.ECI:
 * we must do the usual check for bad ECI state
 * we must advance ECI state if the insn succeeds
 * if ECI says we should not be executing the beat corresponding
   to the lane of the vector register being accessed then we
   should skip performing the move

Note that if PSR.ECI is non-zero then we cannot be in an IT block.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20210617121628.20116-45-peter.maydell@linaro.org
Diffstat (limited to 'python/qemu/qmp/qemu_ga_client.py')
0 files changed, 0 insertions, 0 deletions