From f82ea343694a8f0f6fa645f192429d0a36b1837b Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Tue, 25 Jun 2019 18:28:01 -0500 Subject: [PATCH] target/arm: Stop using cpu_F0s for NEON_2RM_VCVT[ANPM][US] Stop using cpu_F0s for the NEON_2RM_VCVT[ANPM][US] ops. Backports commit 30bf0a018f6c706913c8c0ea57b386907f4229be from qemu --- qemu/target/arm/translate.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/qemu/target/arm/translate.c b/qemu/target/arm/translate.c index 4358caa9..acb9c35f 100644 --- a/qemu/target/arm/translate.c +++ b/qemu/target/arm/translate.c @@ -4315,8 +4315,7 @@ static int neon_2rm_is_float_op(int op) * what we are asking here is "does the code for this case in * the Neon for-each-pass loop use cpu_F0s?". */ - return ((op >= NEON_2RM_VCVTAU && op <= NEON_2RM_VCVTMS) || - op >= NEON_2RM_VRECPE_F); + return op >= NEON_2RM_VRECPE_F; } static bool neon_2rm_is_v8_op(int op) @@ -6955,10 +6954,10 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn) tcg_ctx->cpu_env); if (is_signed) { - gen_helper_vfp_tosls(tcg_ctx, s->F0s, s->F0s, + gen_helper_vfp_tosls(tcg_ctx, tmp, tmp, tcg_shift, fpst); } else { - gen_helper_vfp_touls(tcg_ctx, s->F0s, s->F0s, + gen_helper_vfp_touls(tcg_ctx, tmp, tmp, tcg_shift, fpst); }