diff options
| author | Peter Maydell | 2019-08-27 14:19:31 +0200 |
|---|---|---|
| committer | Peter Maydell | 2019-09-03 17:20:35 +0200 |
| commit | 342d27581bd3ecdb995e4fc55fcd383cf3242888 (patch) | |
| tree | 998dd4e228431c065bcdcb50f29f66c92e10f9d4 | |
| parent | include/exec/cpu-defs.h: fix typo (diff) | |
| download | qemu-342d27581bd3ecdb995e4fc55fcd383cf3242888.tar.gz qemu-342d27581bd3ecdb995e4fc55fcd383cf3242888.tar.xz qemu-342d27581bd3ecdb995e4fc55fcd383cf3242888.zip | |
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().
Cc: qemu-stable@nongnu.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 20190827121931.26836-1-peter.maydell@linaro.org
| -rw-r--r-- | target/arm/translate-vfp.inc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/target/arm/translate-vfp.inc.c b/target/arm/translate-vfp.inc.c index 3e8ea80493..9ae980bef6 100644 --- a/target/arm/translate-vfp.inc.c +++ b/target/arm/translate-vfp.inc.c @@ -880,8 +880,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(tmp, a->vm); + tcg_temp_free_i32(tmp); tmp = load_reg(s, a->rt2); neon_store_reg32(tmp, a->vm + 1); + tcg_temp_free_i32(tmp); } return true; |
