]> git.proxmox.com Git - qemu.git/commitdiff
target-ppc: fix bit extraction for FPBF and FPL
authorAurelien Jarno <aurelien@aurel32.net>
Thu, 15 Aug 2013 11:32:38 +0000 (13:32 +0200)
committerAlexander Graf <agraf@suse.de>
Mon, 2 Sep 2013 08:06:42 +0000 (10:06 +0200)
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 <raj.khem@gmail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
CC: qemu-stable@nongnu.org (1.6)
Signed-off-by: Alexander Graf <agraf@suse.de>
target-ppc/translate.c

index f07d70d8660821a6ca99a1410db131b7b8837082..41f40486ebc3ac9565feeef9809c856936bf3c63 100644 (file)
@@ -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);