From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E0818C43214 for ; Wed, 1 Sep 2021 10:48:43 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A89AA6101B for ; Wed, 1 Sep 2021 10:48:43 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org A89AA6101B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=nongnu.org Received: from localhost ([::1]:45254 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mLNnN-0001P6-1N for qemu-devel@archiver.kernel.org; Wed, 01 Sep 2021 06:48:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43330) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mLNcF-00071F-Lp for qemu-devel@nongnu.org; Wed, 01 Sep 2021 06:37:13 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:36851) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mLNcA-0005iC-Vz for qemu-devel@nongnu.org; Wed, 01 Sep 2021 06:37:11 -0400 Received: by mail-wr1-x431.google.com with SMTP id q14so3762879wrp.3 for ; Wed, 01 Sep 2021 03:37:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=DvhXlYYlfomJDUJCbAefggwT30WTKJdIb0Q3AVXh8mM=; b=wKr2lax2EPFSWl/D4FRw94e5QxwF4TQLedfhHdYlEVkmJ8xmP2lCNpfgHDtT2l7fX6 UtpZby4CmRkSn84InKZcTV/YBc/DR5RB8pqlkVqPQxAQ7CgpQmFYLcAYDERBMqhpnwwK RYW3GZ7vk9q1GrxBVn+Ucc61bCtQDWM9cG2NKiXhLojW+LW51Drlpy0FKWMmdppef49S wLjRzSqDm9NTYjHRQpcpGrUvJUxJBpaPfEd4wdxGUXgf2nt1LD960uSyQ7pIUy7IQwai so46L7k89CEIWo6LdKDGuu1qYKgSdgoHPeqEJZ+64MBnwXBy70Dz6r8DWcXEU5rW8800 2LWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=DvhXlYYlfomJDUJCbAefggwT30WTKJdIb0Q3AVXh8mM=; b=oECz8zNcDoHMFeWa+aH03Jo7+kBHKcWGqaV7mUTnBKOSV586wVJGGhD5XxYHc7R0yg I6MUtUobGL7S/Qs0gFvS4TAyHqUsGidxAAztCCqpDqLN5gY5NEboAU7cR8Rf7MiZVczZ jLivopQ8JAPS4DXZMQLzs1eptdspxVomKIIioIHzMgR6hLFtZivuLQoorQXFNAd44um5 gKHFu8qzGKFeAGUljlizHkHXuHL3voCbjrKi9eFZ6aB1Gt40nDmnNP4Whu6wXzXregtJ 9BslhQMElxWArHVS/u3L+AQO56z1VA3ecWD/MevdXAgXc2J1lWIa90GQMxNrDZdjjf7M DdUQ== X-Gm-Message-State: AOAM531sKGQ3/V6Xem57vE323oF4J/KIB0MhGAxkUefrcJb+VeyBp1M/ Hv3exiQ1GdqYVhZ+qWhZ2J9Yrulcew6zzw== X-Google-Smtp-Source: ABdhPJyZV0KhTg0n8jZgc2Po4fLbG/edqYTNCKxuCJKFRdXn/P4paFV/4UfwxHtCLKXs4w5llXDbfg== X-Received: by 2002:adf:82a8:: with SMTP id 37mr37514525wrc.123.1630492625578; Wed, 01 Sep 2021 03:37:05 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id j207sm5494771wmj.40.2021.09.01.03.37.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Sep 2021 03:37:05 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 14/51] softfloat: Remove assertion preventing silencing of NaN in default-NaN mode Date: Wed, 1 Sep 2021 11:36:16 +0100 Message-Id: <20210901103653.13435-15-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210901103653.13435-1-peter.maydell@linaro.org> References: <20210901103653.13435-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x431.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" In commit a777d6033447a we added an assertion to parts_silence_nan() that prohibits calling float*_silence_nan() when in default-NaN mode. This ties together a property of the output ("do we generate a default NaN when the result is a NaN?") with an operation on an input ("silence this input NaN"). It's true that most of the time when in default-NaN mode you won't need to silence an input NaN, because you can just produce the default NaN as the result instead. But some functions like float*_maxnum() are defined to be able to work with quiet NaNs, so silencing an input SNaN is still reasonable. In particular, the upcoming implementation of MVE VMAXNMV would fall over this assertion if we didn't delete it. Delete the assertion. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson --- fpu/softfloat-specialize.c.inc | 1 - 1 file changed, 1 deletion(-) diff --git a/fpu/softfloat-specialize.c.inc b/fpu/softfloat-specialize.c.inc index 12467bb9bba..f2ad0f335e6 100644 --- a/fpu/softfloat-specialize.c.inc +++ b/fpu/softfloat-specialize.c.inc @@ -198,7 +198,6 @@ static void parts128_default_nan(FloatParts128 *p, float_status *status) static uint64_t parts_silence_nan_frac(uint64_t frac, float_status *status) { g_assert(!no_signaling_nans(status)); - g_assert(!status->default_nan_mode); /* The only snan_bit_is_one target without default_nan_mode is HPPA. */ if (snan_bit_is_one(status)) { -- 2.20.1