]> git.proxmox.com Git - mirror_qemu.git/commitdiff
target-mips: Fix signedness of loads in MIPS16 RESTOREs
authorRichard Sandiford <rdsandiford@googlemail.com>
Sun, 20 Jan 2013 19:28:48 +0000 (19:28 +0000)
committerAurelien Jarno <aurelien@aurel32.net>
Thu, 31 Jan 2013 22:38:37 +0000 (23:38 +0100)
Make RESTORE use sign-extending rather than zero-extending loads.

Signed-off-by: Richard Sandiford <rdsandiford@googlemail.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
target-mips/translate.c

index 87226386782eb4dad9af850d213a371ae090ffaa..8520d285193f493f7d359f9bbee5d0b7c7632cad 100644 (file)
@@ -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)