qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-ppc] [PATCH] target-ppc: Fix popcntb Opcode Bug


From: Tom Musta
Subject: [Qemu-ppc] [PATCH] target-ppc: Fix popcntb Opcode Bug
Date: Wed, 14 May 2014 12:14:42 -0500

The popcntb instruction is erroneously encoded with opcode extension 
(opc1,opc2) = (0x03,0x03).
Bits 21-30 of popcntb are 122 = 0b00011-0b11010 and therefore this should be 
encoded
as (opc1,opc2) = (0x1A, 0x03).

Signed-off-by: Tom Musta <address@hidden>
---
 target-ppc/translate.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/target-ppc/translate.c b/target-ppc/translate.c
index e3fcb03..62555ea 100644
--- a/target-ppc/translate.c
+++ b/target-ppc/translate.c
@@ -9880,7 +9880,7 @@ GEN_HANDLER(ori, 0x18, 0xFF, 0xFF, 0x00000000, 
PPC_INTEGER),
 GEN_HANDLER(oris, 0x19, 0xFF, 0xFF, 0x00000000, PPC_INTEGER),
 GEN_HANDLER(xori, 0x1A, 0xFF, 0xFF, 0x00000000, PPC_INTEGER),
 GEN_HANDLER(xoris, 0x1B, 0xFF, 0xFF, 0x00000000, PPC_INTEGER),
-GEN_HANDLER(popcntb, 0x1F, 0x03, 0x03, 0x0000F801, PPC_POPCNTB),
+GEN_HANDLER(popcntb, 0x1F, 0x1A, 0x03, 0x0000F801, PPC_POPCNTB),
 GEN_HANDLER(popcntw, 0x1F, 0x1A, 0x0b, 0x0000F801, PPC_POPCNTWD),
 GEN_HANDLER_E(prtyw, 0x1F, 0x1A, 0x04, 0x0000F801, PPC_NONE, PPC2_ISA205),
 #if defined(TARGET_PPC64)
-- 
1.7.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]