[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/3] Make-repl_ph-to-sign-extended-to-target_lon
From: |
Jovanovic, Petar |
Subject: |
Re: [Qemu-devel] [PATCH 2/3] Make-repl_ph-to-sign-extended-to-target_long |
Date: |
Tue, 11 Dec 2012 15:06:35 +0000 |
lgtm, though I wish there was a test for this in repl_ph.c.
+ cc Aurelien J.
Petar
________________________________________
From: Dongxue Zhang address@hidden
Sent: Tuesday, December 11, 2012 3:28 PM
To: address@hidden
Cc: address@hidden; Jovanovic, Petar; address@hidden; Dongxue Zhang
Subject: [PATCH 2/3] Make-repl_ph-to-sign-extended-to-target_long
The immediate value is 9bits, should sign-extend to 16bits. The return value to
register should sign-extend to target_long, as Richard says, removing an
unnecessary cast works fun.
Signed-off-by: Dongxue Zhang <address@hidden>
---
target-mips/translate.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/target-mips/translate.c b/target-mips/translate.c
index 65e6725..1701ca3 100644
--- a/target-mips/translate.c
+++ b/target-mips/translate.c
@@ -13769,9 +13769,10 @@ static void gen_mipsdsp_bitinsn(CPUMIPSState *env,
DisasContext *ctx,
check_dsp(ctx);
{
imm = (ctx->opcode >> 16) & 0x03FF;
+ imm = (int16_t)(imm << 6) >> 6;
tcg_gen_movi_tl(cpu_gpr[ret], \
(target_long)((int32_t)imm << 16 | \
- (uint32_t)(uint16_t)imm));
+ (uint16_t)imm));
}
break;
case OPC_REPLV_PH:
--
1.7.10.4
[Qemu-devel] [PATCH 3/3] Fix-gen_HILO-to-make-it-adapt-each-arch-which-use-acc, Dongxue Zhang, 2012/12/11
Re: [Qemu-devel] [PATCH 1/3] Fix my email address, Stefan Weil, 2012/12/11