aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2013-05-06 19:49:43 +0200
committerAlexander Graf <agraf@suse.de>2013-05-08 20:23:20 +0200
commit554ecc5774badd181458fe3d6a1624c2ede9f04e (patch)
tree761735ce3d7bed6ac0ecb629035c6fc89dc89c30
parentc0f5f9ce86ddca0a7d7ca60012059a5a18aa9c07 (diff)
downloadqemu-554ecc5774badd181458fe3d6a1624c2ede9f04e.zip
qemu-554ecc5774badd181458fe3d6a1624c2ede9f04e.tar.gz
qemu-554ecc5774badd181458fe3d6a1624c2ede9f04e.tar.bz2
PPC: Fix rldcl
The implementation for rldcl tried to always fetch its parameters from the opcode, even though the opcode was already passed in in decoded and different forms. Use the parameters instead, fixing rldcl. Reported-by: Torbjorn Granlund <tg@gmplib.org> Reviewed-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Alexander Graf <agraf@suse.de>
-rw-r--r--target-ppc/translate.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/target-ppc/translate.c b/target-ppc/translate.c
index 0886f4d..a018616 100644
--- a/target-ppc/translate.c
+++ b/target-ppc/translate.c
@@ -1733,8 +1733,6 @@ static inline void gen_rldnm(DisasContext *ctx, uint32_t mb, uint32_t me)
{
TCGv t0;
- mb = MB(ctx->opcode);
- me = ME(ctx->opcode);
t0 = tcg_temp_new();
tcg_gen_andi_tl(t0, cpu_gpr[rB(ctx->opcode)], 0x3f);
tcg_gen_rotl_tl(t0, cpu_gpr[rS(ctx->opcode)], t0);