target/arm: Free TCG temps in trans_VMOV_64_sp()

The function neon_store_reg32() doesn't free the TCG temp that it
is passed, so the caller must do that. We got this right in most
places but forgot to free the TCG temps in trans_VMOV_64_sp().

Backports commit 38fb634853ac6547326d9f88b9a068d9fc6b4ad4 from qemu
This commit is contained in:
Peter Maydell 2019-11-18 16:27:12 -05:00 committed by Lioncash
parent 96f2342a21
commit 8f7f19ce43
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7

View file

@ -893,8 +893,10 @@ static bool trans_VMOV_64_sp(DisasContext *s, arg_VMOV_64_sp *a)
/* gpreg to fpreg */
tmp = load_reg(s, a->rt);
neon_store_reg32(s, tmp, a->vm);
tcg_temp_free_i32(tcg_ctx, tmp);
tmp = load_reg(s, a->rt2);
neon_store_reg32(s, tmp, a->vm + 1);
tcg_temp_free_i32(tcg_ctx, tmp);
}
return true;