aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2019-07-04 16:52:05 +0100
committerPeter Maydell <peter.maydell@linaro.org>2019-07-04 16:52:05 +0100
commitb75f3735802b5b33f10e4bfe374d4b17bb86d29a (patch)
tree5f8a1c31ad4f515366ade0f9385619d3bcb5c9b9
parent2df0371036f545458afa29a3dfc2b6c0c69866fe (diff)
downloadqemu-arm-pull-target-arm-20190704.tar.gz
target/arm: Correct VMOV_imm_dp handling of short vectorspull-target-arm-20190704
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
-rw-r--r--target/arm/translate-vfp.inc.c2
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);