From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41946) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V9vnY-0004WZ-S8 for qemu-devel@nongnu.org; Thu, 15 Aug 2013 07:33:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V9vnS-0000KC-71 for qemu-devel@nongnu.org; Thu, 15 Aug 2013 07:33:00 -0400 Received: from hall.aurel32.net ([2001:470:1f0b:4a8::1]:57860) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V9vnS-0000H6-0T for qemu-devel@nongnu.org; Thu, 15 Aug 2013 07:32:54 -0400 From: Aurelien Jarno Date: Thu, 15 Aug 2013 13:32:38 +0200 Message-Id: <1376566358-8989-1-git-send-email-aurelien@aurel32.net> Subject: [Qemu-devel] [PATCH] target-ppc: fix bit extraction for FPBF and FPL List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: qemu-stable@nongnu.org, qemu-ppc@nongnu.org, Khem Raj , Aurelien Jarno , Alexander Graf Bit extraction for the FP BF and L field of the MTFSFI and MTFSF instructions is wrong and doesn't match the reference manual (which explain the bit number in big endian format). It has been broken in commit 7d08d85645def18eac2a9d672c1868a35e0bcf79. This patch fixes this, which in turn fixes the problem reported by Khem Raj about the floor() function of libm. Reported-by: Khem Raj Signed-off-by: Aurelien Jarno --- target-ppc/translate.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) I don't know if we still have time to get this into 1.6, hence the Cc: to stable. In anycase it also needs to be fixed in 1.5. diff --git a/target-ppc/translate.c b/target-ppc/translate.c index f07d70d..41f4048 100644 --- a/target-ppc/translate.c +++ b/target-ppc/translate.c @@ -428,9 +428,9 @@ EXTRACT_HELPER(CRM, 12, 8); EXTRACT_HELPER(SR, 16, 4); /* mtfsf/mtfsfi */ -EXTRACT_HELPER(FPBF, 19, 3); +EXTRACT_HELPER(FPBF, 23, 3); EXTRACT_HELPER(FPIMM, 12, 4); -EXTRACT_HELPER(FPL, 21, 1); +EXTRACT_HELPER(FPL, 25, 1); EXTRACT_HELPER(FPFLM, 17, 8); EXTRACT_HELPER(FPW, 16, 1); -- 1.7.10.4