Delivered-To: raj.khem@gmail.com Received: by 10.50.216.195 with SMTP id os3csp11191igc; Thu, 15 Aug 2013 04:32:45 -0700 (PDT) X-Received: by 10.180.98.3 with SMTP id ee3mr1508103wib.48.1376566364872; Thu, 15 Aug 2013 04:32:44 -0700 (PDT) Return-Path: Received: from hall.aurel32.net (hall.aurel32.net. [2001:470:1f0b:4a8::1]) by mx.google.com with ESMTPS id vv5si15578100wjc.49.2013.08.15.04.32.44 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Thu, 15 Aug 2013 04:32:44 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of aurelien@aurel32.net designates 2001:470:1f0b:4a8::1 as permitted sender) client-ip=2001:470:1f0b:4a8::1; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of aurelien@aurel32.net designates 2001:470:1f0b:4a8::1 as permitted sender) smtp.mail=aurelien@aurel32.net Received: from [2001:470:d4ed:1:2db:dfff:fe14:52d] (helo=ohm.aurel32.net) by hall.aurel32.net with esmtpsa (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1V9vnG-0006cO-NN; Thu, 15 Aug 2013 13:32:42 +0200 Received: from aurel32 by ohm.aurel32.net with local (Exim 4.80) (envelope-from ) id 1V9vnF-0002Lw-7L; Thu, 15 Aug 2013 13:32:41 +0200 From: Aurelien Jarno To: qemu-devel@nongnu.org Cc: Khem Raj , Alexander Graf , qemu-stable@nongnu.org, qemu-ppc@nongnu.org, Aurelien Jarno Subject: [PATCH] target-ppc: fix bit extraction for FPBF and FPL Date: Thu, 15 Aug 2013 13:32:38 +0200 Message-Id: <1376566358-8989-1-git-send-email-aurelien@aurel32.net> X-Mailer: git-send-email 1.7.10.4 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 Upstream-Status: Backport --- 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. Index: qemu-1.5.0/target-ppc/translate.c =================================================================== --- qemu-1.5.0.orig/target-ppc/translate.c 2013-05-20 08:34:40.000000000 -0700 +++ qemu-1.5.0/target-ppc/translate.c 2013-08-15 06:49:25.028144352 -0700 @@ -428,9 +428,9 @@ 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);