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().)

Backports commit 89a11ff756410aecb87d2c774df6e45dbf4105c1 from qemu
This commit is contained in:
Peter Maydell 2019-08-08 18:08:53 -04:00 committed by Lioncash
parent 0d89bce217
commit 1f4c3d6bcc
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7

View file

@ -1996,7 +1996,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(tcg_ctx, fd);