aboutsummaryrefslogtreecommitdiff
path: root/target/ppc
diff options
context:
space:
mode:
authorMatthieu Bucchianeri <matthieu.bucchianeri@leostella.com>2020-07-27 10:21:14 -0700
committerDavid Gibson <david@gibson.dropbear.id.au>2020-08-12 13:16:27 +1000
commit6d592c557e2d7131585ea7f6a3f214aba71e8776 (patch)
tree1621e39b77dd7a9831aec35f62cc7f9d53ff8576 /target/ppc
parentd0ed6a69d399ae193959225cdeaa9382746c91cc (diff)
downloadqemu-6d592c557e2d7131585ea7f6a3f214aba71e8776.zip
qemu-6d592c557e2d7131585ea7f6a3f214aba71e8776.tar.gz
qemu-6d592c557e2d7131585ea7f6a3f214aba71e8776.tar.bz2
target/ppc: Fix TCG leak with the evmwsmiaa instruction
Fix double-call to tcg_temp_new_i64(), where a temp is allocated both at declaration time and further down the implementation of gen_evmwsmiaa(). Note that gen_evmwsmia() and gen_evmwsmiaa() are still not implemented correctly, as they invoke gen_evmwsmi() which may return early, but the return is not propagated. This will be fixed in my patch for bug #1888918. Signed-off-by: Matthieu Bucchianeri <matthieu.bucchianeri@leostella.com> Message-Id: <20200727172114.31415-1-matthieu.bucchianeri@leostella.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'target/ppc')
-rw-r--r--target/ppc/translate/spe-impl.inc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/target/ppc/translate/spe-impl.inc.c b/target/ppc/translate/spe-impl.inc.c
index 36b4d56..42a0d1c 100644
--- a/target/ppc/translate/spe-impl.inc.c
+++ b/target/ppc/translate/spe-impl.inc.c
@@ -531,8 +531,8 @@ static inline void gen_evmwsmia(DisasContext *ctx)
static inline void gen_evmwsmiaa(DisasContext *ctx)
{
- TCGv_i64 acc = tcg_temp_new_i64();
- TCGv_i64 tmp = tcg_temp_new_i64();
+ TCGv_i64 acc;
+ TCGv_i64 tmp;
gen_evmwsmi(ctx); /* rD := rA * rB */