From patchwork Tue Sep 19 16:30:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aldy Hernandez X-Patchwork-Id: 141993 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:612c:172:b0:3f2:4152:657d with SMTP id h50csp3520892vqi; Tue, 19 Sep 2023 09:32:48 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEmm8cZjCBNppqIAGXB4Q06xv/qBDLE1eWi7dLL6Owdaqb74j87dc0CgytdzhfOBLadPEL2 X-Received: by 2002:a17:906:318a:b0:9ad:e351:28b4 with SMTP id 10-20020a170906318a00b009ade35128b4mr9597231ejy.26.1695141168269; Tue, 19 Sep 2023 09:32:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695141168; cv=none; d=google.com; s=arc-20160816; b=cyNZelkYO9vmr3TyuIQVcJMv4bR7/ewKaYPwOt0NHZpMDVBO6f0j/SK+xLd1f+4Zbv OOGtysV4jS5NiKsEnD5b5DLMJrDw75T3LzPpxdIwkU6aygWGRlyXReYphUVUTBhtFTEe 9T1cnBiaQEh1hQd/tQ3S8w9Ws3+gVi0I8mqdgHn2UhvWanDe7Nz0L1xzr/zKT/hv4Vp7 SWLP/u0odTGz0w3KM7Bm677dI2l07I1CX80Cu5uzRPj2IIIMoDF2WlWNUadQXCHny4Io 1kdYLon5PxzX2wAYJsYT7K0ZwWkN/RpPZCl+vgJo/i4mPJAjbNofyqPRAvdE3cl/3YZh iXvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature:dmarc-filter:delivered-to; bh=UA3xIkjbaJFDEOy3jzJD4Md3pIuEJOU7tuBW6eh4Mhw=; fh=OMJEP26ap+oEmKHa3m+raxXe/7m0wux/ykeWQAXF9TY=; b=dcgzsRyidxh4+MbV59oBz6XLtrJ5VBoiCVlI3I/7GEtAG4BaC9TuHnQoTy/+QDbGgt XwfMRZwCqhHsQayNGuVIhI7FBRNMxsc+RrqAIa4oPr29fswUtegko4Y3hpF7NpmEhTBo Gcr73CiOIJJVL4lVi1dvljQIkW6Z8tXk2UflFNgSFPNUO6E5es14vNNEm4RAazC56qy8 EtyDPU2mn3A6k59QI7HI7Al+2HzV/hIgjAp9IMT4sNuD7sCeWqbzmpZ0OYjU3Z6Zsjuu TKhlO7M7sPWgXIk8HR5aiQyi+Hdvd8IxknPD65fOqCX5bCm2QtXgEgoFK5IqO9mI577U cmSw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=IL6eVo08; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id bk6-20020a170906b0c600b009ae06ef84e0si4511743ejb.197.2023.09.19.09.32.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Sep 2023 09:32:48 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=IL6eVo08; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3795E385CCA6 for ; Tue, 19 Sep 2023 16:31:41 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 813863857713 for ; Tue, 19 Sep 2023 16:31:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 813863857713 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1695141060; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=UA3xIkjbaJFDEOy3jzJD4Md3pIuEJOU7tuBW6eh4Mhw=; b=IL6eVo087UIDQ5PS9IiGgZvI53wc+XalA7Bn74UtI7zMMLMGzmZXYfXfdk7jTZ4Z2Fnxfv QuoVJaHdDp4R7nHPM03HfvccvNqEcUOvju+/f5giqQ7qxAQ48kUvyXqXMMh7SPnCluy70U cDTS9hPcUegJzv+rAvPAOTLHJuyInPI= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-499-OwAq08cwNpmFK03Z66ynhw-1; Tue, 19 Sep 2023 12:30:57 -0400 X-MC-Unique: OwAq08cwNpmFK03Z66ynhw-1 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id BF15D858280 for ; Tue, 19 Sep 2023 16:30:56 +0000 (UTC) Received: from abulafia.quesejoda.com (unknown [10.22.34.199]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9CBB6711281; Tue, 19 Sep 2023 16:30:56 +0000 (UTC) Received: from abulafia.quesejoda.com (localhost [127.0.0.1]) by abulafia.quesejoda.com (8.17.1/8.17.1) with ESMTPS id 38JGUuY2865055 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Tue, 19 Sep 2023 12:30:56 -0400 Received: (from aldyh@localhost) by abulafia.quesejoda.com (8.17.1/8.17.1/Submit) id 38JGUu0P865054; Tue, 19 Sep 2023 12:30:56 -0400 From: Aldy Hernandez To: GCC patches Cc: Andrew MacLeod , Aldy Hernandez Subject: [COMMITTED] Add frange::update_nan (const nan_state &). Date: Tue, 19 Sep 2023 12:30:46 -0400 Message-ID: <20230919163052.865027-2-aldyh@redhat.com> In-Reply-To: <20230919163052.865027-1-aldyh@redhat.com> References: <20230919163052.865027-1-aldyh@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.4 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1777484346010451250 X-GMAIL-MSGID: 1777484346010451250 We can set_nan() with a nan_state so it's good form to have the analogous form for update_nan(). gcc/ChangeLog: * value-range.h (frange::update_nan): New. --- gcc/value-range.h | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/gcc/value-range.h b/gcc/value-range.h index da04be00ab4..a792c593faa 100644 --- a/gcc/value-range.h +++ b/gcc/value-range.h @@ -1257,36 +1257,40 @@ frange::set_undefined () verify_range (); } -// Set the NAN bit and adjust the range. +// Set the NAN bits to NAN and adjust the range. inline void -frange::update_nan () +frange::update_nan (const nan_state &nan) { gcc_checking_assert (!undefined_p ()); if (HONOR_NANS (m_type)) { - m_pos_nan = true; - m_neg_nan = true; + m_pos_nan = nan.pos_p (); + m_neg_nan = nan.neg_p (); normalize_kind (); if (flag_checking) verify_range (); } } +// Set the NAN bit to +-NAN. + +inline void +frange::update_nan () +{ + gcc_checking_assert (!undefined_p ()); + nan_state nan (true); + update_nan (nan); +} + // Like above, but set the sign of the NAN. inline void frange::update_nan (bool sign) { gcc_checking_assert (!undefined_p ()); - if (HONOR_NANS (m_type)) - { - m_pos_nan = !sign; - m_neg_nan = sign; - normalize_kind (); - if (flag_checking) - verify_range (); - } + nan_state nan (/*pos=*/!sign, /*neg=*/sign); + update_nan (nan); } inline bool