From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:47151) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TASL6-0002iV-Ht for qemu-devel@nongnu.org; Sat, 08 Sep 2012 17:13:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TASL4-0002EZ-FT for qemu-devel@nongnu.org; Sat, 08 Sep 2012 17:13:16 -0400 Received: from hall.aurel32.net ([88.191.126.93]:46522) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TASL4-0002EA-9G for qemu-devel@nongnu.org; Sat, 08 Sep 2012 17:13:14 -0400 From: Aurelien Jarno Date: Sat, 8 Sep 2012 23:12:43 +0200 Message-Id: <1347138767-19941-1-git-send-email-aurelien@aurel32.net> Subject: [Qemu-devel] [PATCH 1/5] softfloat: fix float{32, 64}_muladd options List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Peter Maydell , Aurelien Jarno float{32,64}_muladd takes an enum as a parameter, and not flags. It means the parameter should be checked with == test instead of &. Cc: Peter Maydell Signed-off-by: Aurelien Jarno --- fpu/softfloat.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/fpu/softfloat.c b/fpu/softfloat.c index b29256a..518e45b 100644 --- a/fpu/softfloat.c +++ b/fpu/softfloat.c @@ -2171,15 +2171,15 @@ float32 float32_muladd(float32 a, float32 b, float32 c, int flags STATUS_PARAM) return float32_default_nan; } - if (flags & float_muladd_negate_c) { + if (flags == float_muladd_negate_c) { cSign ^= 1; } - signflip = (flags & float_muladd_negate_result) ? 1 : 0; + signflip = (flags == float_muladd_negate_result) ? 1 : 0; /* Work out the sign and type of the product */ pSign = aSign ^ bSign; - if (flags & float_muladd_negate_product) { + if (flags == float_muladd_negate_product) { pSign ^= 1; } pInf = (aExp == 0xff) || (bExp == 0xff); @@ -3724,15 +3724,15 @@ float64 float64_muladd(float64 a, float64 b, float64 c, int flags STATUS_PARAM) return float64_default_nan; } - if (flags & float_muladd_negate_c) { + if (flags == float_muladd_negate_c) { cSign ^= 1; } - signflip = (flags & float_muladd_negate_result) ? 1 : 0; + signflip = (flags == float_muladd_negate_result) ? 1 : 0; /* Work out the sign and type of the product */ pSign = aSign ^ bSign; - if (flags & float_muladd_negate_product) { + if (flags == float_muladd_negate_product) { pSign ^= 1; } pInf = (aExp == 0x7ff) || (bExp == 0x7ff); -- 1.7.10.4