[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[qemu-xen stable-4.13] target/arm: Free TCG temps in trans_VMOV_64_sp()

commit 38fb634853ac6547326d9f88b9a068d9fc6b4ad4
Author:     Peter Maydell <peter.maydell@xxxxxxxxxx>
AuthorDate: Tue Aug 27 13:19:31 2019 +0100
Commit:     Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
CommitDate: Sun Oct 27 23:57:16 2019 -0500

    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@xxxxxxxxxx
    Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
    Reviewed-by: Richard Henderson <richard.henderson@xxxxxxxxxx>
    Reviewed-by: Philippe Mathieu-Daudé <philmd@xxxxxxxxxx>
    Message-id: 20190827121931.26836-1-peter.maydell@xxxxxxxxxx
    (cherry picked from commit 342d27581bd3ecdb995e4fc55fcd383cf3242888)
    Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
 target/arm/translate-vfp.inc.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/target/arm/translate-vfp.inc.c b/target/arm/translate-vfp.inc.c
index 092eb5ec53..ef45cecbea 100644
--- a/target/arm/translate-vfp.inc.c
+++ b/target/arm/translate-vfp.inc.c
@@ -881,8 +881,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;
generated by git-patchbot for /home/xen/git/qemu-xen.git#stable-4.13



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.