From: Richard Sandiford Date: Sun, 20 Jan 2013 19:28:48 +0000 (+0000) Subject: target-mips: Fix signedness of loads in MIPS16 RESTOREs X-Git-Tag: v1.4.0-rc0~59 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=17e8fef1af2db3a13613a311db2ec2f7a69645a1;p=thirdparty%2Fqemu.git target-mips: Fix signedness of loads in MIPS16 RESTOREs Make RESTORE use sign-extending rather than zero-extending loads. Signed-off-by: Richard Sandiford Reviewed-by: Richard Henderson Signed-off-by: Aurelien Jarno --- diff --git a/target-mips/translate.c b/target-mips/translate.c index 87226386782..8520d285193 100644 --- a/target-mips/translate.c +++ b/target-mips/translate.c @@ -9446,7 +9446,7 @@ static void gen_mips16_restore (DisasContext *ctx, #define DECR_AND_LOAD(reg) do { \ tcg_gen_subi_tl(t0, t0, 4); \ - tcg_gen_qemu_ld32u(t1, t0, ctx->mem_idx); \ + tcg_gen_qemu_ld32s(t1, t0, ctx->mem_idx); \ gen_store_gpr(t1, reg); \ } while (0)