target/arm: Fix decode for VDOT (indexed)
We were extracting the M register twice, once incorrectly as M:vm and once correctly as rm. Remove the incorrect name and remove the incorrect decode. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20210525010358.152808-87-richard.henderson@linaro.org Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
25fa6f8341
commit
64ea60869b
@ -61,8 +61,8 @@ VCMLA_scalar 1111 1110 0 . rot:2 .... .... 1000 . q:1 index:1 0 vm:4 \
|
||||
VCMLA_scalar 1111 1110 1 . rot:2 .... .... 1000 . q:1 . 0 .... \
|
||||
vm=%vm_dp vn=%vn_dp vd=%vd_dp size=2 index=0
|
||||
|
||||
VDOT_scalar 1111 1110 0 . 10 .... .... 1101 . q:1 index:1 u:1 rm:4 \
|
||||
vm=%vm_dp vn=%vn_dp vd=%vd_dp
|
||||
VDOT_scalar 1111 1110 0 . 10 .... .... 1101 . q:1 index:1 u:1 vm:4 \
|
||||
vn=%vn_dp vd=%vd_dp
|
||||
|
||||
%vfml_scalar_q0_rm 0:3 5:1
|
||||
%vfml_scalar_q1_index 5:1 3:1
|
||||
|
@ -348,7 +348,7 @@ static bool trans_VDOT_scalar(DisasContext *s, arg_VDOT_scalar *a)
|
||||
opr_sz = (1 + a->q) * 8;
|
||||
tcg_gen_gvec_4_ool(vfp_reg_offset(1, a->vd),
|
||||
vfp_reg_offset(1, a->vn),
|
||||
vfp_reg_offset(1, a->rm),
|
||||
vfp_reg_offset(1, a->vm),
|
||||
vfp_reg_offset(1, a->vd),
|
||||
opr_sz, opr_sz, a->index, fn_gvec);
|
||||
return true;
|
||||
|
Loading…
Reference in New Issue
Block a user