diff options
author | Peter Maydell | 2019-07-04 18:14:44 +0200 |
---|---|---|
committer | Peter Maydell | 2019-07-04 18:25:30 +0200 |
commit | 89a11ff756410aecb87d2c774df6e45dbf4105c1 (patch) | |
tree | eb9d22fab4d2b8948668cc95c9e836633760e5b0 /target/arm/translate-vfp.inc.c | |
parent | target/arm: Execute Thumb instructions when their condbits are 0xf (diff) | |
download | qemu-89a11ff756410aecb87d2c774df6e45dbf4105c1.tar.gz qemu-89a11ff756410aecb87d2c774df6e45dbf4105c1.tar.xz qemu-89a11ff756410aecb87d2c774df6e45dbf4105c1.zip |
target/arm: Correct VMOV_imm_dp handling of short vectors
Coverity points out (CID 1402195) that the loop in trans_VMOV_imm_dp()
that iterates over the destination registers in a short-vector VMOV
accidentally throws away the returned updated register number
from vfp_advance_dreg(). Add the missing assignment. (We got this
correct in trans_VMOV_imm_sp().)
Fixes: 18cf951af9a27ae573a
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20190702105115.9465-1-peter.maydell@linaro.org
Diffstat (limited to 'target/arm/translate-vfp.inc.c')
-rw-r--r-- | target/arm/translate-vfp.inc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/target/arm/translate-vfp.inc.c b/target/arm/translate-vfp.inc.c index deaddb0442..092eb5ec53 100644 --- a/target/arm/translate-vfp.inc.c +++ b/target/arm/translate-vfp.inc.c @@ -1971,7 +1971,7 @@ static bool trans_VMOV_imm_dp(DisasContext *s, arg_VMOV_imm_dp *a) /* Set up the operands for the next iteration */ veclen--; - vfp_advance_dreg(vd, delta_d); + vd = vfp_advance_dreg(vd, delta_d); } tcg_temp_free_i64(fd); |