From nobody Fri May 3 05:30:31 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1585351291; cv=none; d=zohomail.com; s=zohoarc; b=CSaqYXFGIfPw/XcedK6oTjFKBYQT/fTzDRgeYwb93ErJ9/Kb8gPe56whhfnbT/+U+IshgHlQd24mlC2GH8/V5T6AeJoOANhaWC0AlWYpPB+6E8o4GIIHygkQu/jxTbTKJFi7OV/VhwvxM4lQfq5moPi8rrLXrSgOLF94y4dJe3o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1585351291; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=WaeqFFIY+sHy+HH5PfzjAZUCxfNQ0e2bmW0/SuykGPQ=; b=g0mpDFu1TMGv0dOOrjvPK9Ct1N7G4WP1nckJzMN3FoVUM+XvvEhBvRpCNE+UY1awy2p++vbp87B5NRjB1SYV/kkNlroHFWl8Hdqhg4zrqrMDrgM51+Oq9H0TQbjrOU8VGJw85cvpZui0CaG/UZJHBLOsmbt9FM/pJnEQPh66ANE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1585351291058239.8189511293217; Fri, 27 Mar 2020 16:21:31 -0700 (PDT) Received: from localhost ([::1]:48114 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHyI5-0008P1-6v for importer@patchew.org; Fri, 27 Mar 2020 19:21:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56822) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jHyHP-0007wD-Ri for qemu-devel@nongnu.org; Fri, 27 Mar 2020 19:20:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jHyHO-00016D-BF for qemu-devel@nongnu.org; Fri, 27 Mar 2020 19:20:47 -0400 Received: from mail-pf1-x442.google.com ([2607:f8b0:4864:20::442]:39924) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jHyHN-00014n-Ka for qemu-devel@nongnu.org; Fri, 27 Mar 2020 19:20:45 -0400 Received: by mail-pf1-x442.google.com with SMTP id k15so105547pfh.6 for ; Fri, 27 Mar 2020 16:20:45 -0700 (PDT) Received: from localhost.localdomain (174-21-138-234.tukw.qwest.net. [174.21.138.234]) by smtp.gmail.com with ESMTPSA id i4sm4933665pfq.82.2020.03.27.16.20.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Mar 2020 16:20:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=WaeqFFIY+sHy+HH5PfzjAZUCxfNQ0e2bmW0/SuykGPQ=; b=D/eYcrFWS6m1oHAhPRy6WGavZuZ+g0qF3Vy+lYNY1Pg/2PexGtjjTSGFyYST9f1TRG 6urx44POx5fd2Y4i7EXxu8mp3bsZEcMBJJAUQ7O875tpsrmIqkjh0STXRPBA+ng4Udpk lgDYy/TfgGARtjbVIXPZi7YW1BODeMY1BJ2z39dfAcouk9lxfOcJhV+XKDuH+TarpTX4 wiy183yc1GrYo0nfQ56h9dtXC5VoOI0omRcFBC9DcMeBQV6lgl61QIoHf3U655R/g4TU C9i5del6/9RN85kAW0YnhezhVjA83v1oKZ6geGZ26bXHA0LDhD3dwMuEz/joRWoi8jkj oqkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=WaeqFFIY+sHy+HH5PfzjAZUCxfNQ0e2bmW0/SuykGPQ=; b=IieufEJdIQFasaBjd3RB3HD5r1ZoO2M0EM8vN1df6xoCUJ+PZzNiSEPaIWYbdrMfxv zgwNLN94YVwfx7ZDzMDjzMrVqb8xKu6bIApmRsv0OpCC+QOaSQ/NtpKqDFXlGxyk1hbs /axk3A+jtn1nDWccJe1aGY7NhMLGUmmZnIyCidZaZM3y5abtm61IOhuTpZmSS+YMW50R /RLF/8cwK22aUgDZBeBOOTxsv95kWCP45IazYvr1838zNHUm7HTiFl4B69xG/kSjeG9+ yGvGwIw5+58xZlOl9SotHGzduQt9bl42nbmSHXtzEyPLH7b6QdDrraJdKuTQwGmzTg3Q KrfA== X-Gm-Message-State: ANhLgQ0yyJstRsUFUaM/LYTaQ6cYYeDLalBIgJhObgbM2YkTRqoe+bAu RdmidsoRdIPrrz/ecH5+IuzZG6689p8= X-Google-Smtp-Source: ADFU+vtmm1iIoz68y4mbNs7DcgKCq6rNVdRtYnBpEojLVnVKOnZsOtQlcXWxlSxN/q/aRIulBLcbrQ== X-Received: by 2002:a63:9143:: with SMTP id l64mr1647877pge.75.1585351243864; Fri, 27 Mar 2020 16:20:43 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH] softfloat: Fix BAD_SHIFT from normalizeFloatx80Subnormal Date: Fri, 27 Mar 2020 16:20:42 -0700 Message-Id: <20200327232042.10008-1-richard.henderson@linaro.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::442 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, alex.bennee@linaro.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" All other calls to normalize*Subnormal detect zero input before the call -- this is the only outlier. This case can happen with +0.0 + +0.0 =3D +0.0 or -0.0 + -0.0 =3D -0.0, so return a zero of the correct sign. Reported-by: Coverity (CID 1421991) Signed-off-by: Richard Henderson --- fpu/softfloat.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fpu/softfloat.c b/fpu/softfloat.c index 301ce3b537..ae6ba71854 100644 --- a/fpu/softfloat.c +++ b/fpu/softfloat.c @@ -5856,6 +5856,9 @@ static floatx80 addFloatx80Sigs(floatx80 a, floatx80 = b, flag zSign, zSig1 =3D 0; zSig0 =3D aSig + bSig; if ( aExp =3D=3D 0 ) { + if (zSig0 =3D=3D 0) { + return packFloatx80(zSign, 0, 0); + } normalizeFloatx80Subnormal( zSig0, &zExp, &zSig0 ); goto roundAndPack; } --=20 2.20.1