From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id EEE2C3857BB3 for ; Fri, 31 Mar 2023 11:28:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EEE2C3857BB3 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=1680262138; 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=/2Vj6szHO21eYtbPFv60q+ri+DzY6tVsBCE8eEacYXc=; b=WWZOTHzVDvGT/+dgHSd2fVCUGWPITVI9XVHLBh6FgkFFRT+mDIISVAy10XevuSg81+8T6y 9WptxWVtWnlmA7DRPxsRdMQSWD2oi/ppZenHnGn2S1jbbt8loa6eygkGSQrDKfLE95GkJR 1ogsEP9nVWKl2vzo8fSiaPYSZj/3DZM= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-22-Am-J0coeOU2j37U89_nN4g-1; Fri, 31 Mar 2023 07:28:57 -0400 X-MC-Unique: Am-J0coeOU2j37U89_nN4g-1 Received: by mail-wm1-f72.google.com with SMTP id m27-20020a05600c3b1b00b003ee502f1b16so10934335wms.9 for ; Fri, 31 Mar 2023 04:28:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680262135; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=/2Vj6szHO21eYtbPFv60q+ri+DzY6tVsBCE8eEacYXc=; b=kO1y95DjzW8+AwcYWd33UvMkzNgwdLoKlAOwl9+qiTcR9SpimT+KeyoLtHIcAoJ1ju FAqpOBf0Po18KJQ0I6dZvvnDwN6aaf26E6fdO5TLmfrMjfKJigtzT695adDwIC4Q9Pjy sBfIGVAjqrIw03buXMvtKQtd2CxpzvlV+aEzxRkGi1R1aEWfJlLDrFgn8VRxo621mzkj 5MaT1Oiej2ghctngTSGM39mrMeuMwQy1aEEvb2dlQrSQ69mFn2SBx5uRpWhvdZ/fxDZ7 Kk8hdWFOWi2mm/m0OX9yjKh+jtPXncCFvKjNzsbyCZ7OsWNleX9+RJXbw5SzeK4C4xuF 4waw== X-Gm-Message-State: AAQBX9ftrnj8dqTT1s7C7wqZ2PXhP2SJOh4H30UrquVNbD4Z0e3+Hkqp YJrVtG1QEG04oUcPIiVQH7LF64H/dCtECYm9w1H96jxhdgpRdzF5TbQNfMskTViz0/1lgbbU1Yq fAJFj20o29clqQerpe/7cIcFTd6a+ X-Received: by 2002:a05:600c:204f:b0:3ee:6d88:774a with SMTP id p15-20020a05600c204f00b003ee6d88774amr6143477wmg.14.1680262135776; Fri, 31 Mar 2023 04:28:55 -0700 (PDT) X-Google-Smtp-Source: AKy350aW86Qd8kwqlpiHhfKEr/Lw8Blc5wXX0vvGOAnO/r8MmUqlZ5oimiAXgyvqKZrXHFUDE4gDvw== X-Received: by 2002:a05:600c:204f:b0:3ee:6d88:774a with SMTP id p15-20020a05600c204f00b003ee6d88774amr6143469wmg.14.1680262135601; Fri, 31 Mar 2023 04:28:55 -0700 (PDT) Received: from [192.168.1.201] ([139.47.42.170]) by smtp.gmail.com with ESMTPSA id u21-20020a05600c00d500b003ee4e99a8f6sm2379208wmm.33.2023.03.31.04.28.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 31 Mar 2023 04:28:55 -0700 (PDT) Message-ID: <71e2035d-5649-eff5-2d5e-5f86c4f98f55@redhat.com> Date: Fri, 31 Mar 2023 13:28:54 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Subject: Re: [PATCH] range-op-float: Further foperator_{,not_}equal::fold_range fix To: Jakub Jelinek , Andrew MacLeod Cc: gcc-patches@gcc.gnu.org References: From: Aldy Hernandez In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 3/31/23 12:57, Jakub Jelinek wrote: > On Fri, Mar 31, 2023 at 12:45:10PM +0200, Jakub Jelinek via Gcc-patches wrote: >> - there is a missing case (not handled in this patch) where both operands >> are known to be zeros, but not singleton zeros > > This patch adds those cases. > > Ok for trunk if it passes bootstrap/regtest? LGTM. Thanks so much for taking care of all this. Aldy > > 2023-03-31 Jakub Jelinek > > * range-op-float.cc (foperator_equal::fold_range): If at least > one of the op ranges is not singleton and neither is NaN and all > 4 bounds are zero, return [1, 1]. > (foperator_not_equal::fold_range): In the same case return [0, 0]. > > --- gcc/range-op-float.cc.jj 2023-03-31 11:23:04.817876083 +0200 > +++ gcc/range-op-float.cc 2023-03-31 12:51:34.757480162 +0200 > @@ -616,6 +616,13 @@ foperator_equal::fold_range (irange &r, > else > r = range_false (type); > } > + else if (real_iszero (&op1.lower_bound ()) > + && real_iszero (&op1.upper_bound ()) > + && real_iszero (&op2.lower_bound ()) > + && real_iszero (&op2.upper_bound ()) > + && !maybe_isnan (op1, op2)) > + // [-0.0, 0.0] == [-0.0, 0.0] or similar. > + r = range_true (type); > else > { > // If ranges do not intersect, we know the range is not equal, > @@ -732,6 +739,13 @@ foperator_not_equal::fold_range (irange > else > r = range_true (type); > } > + else if (real_iszero (&op1.lower_bound ()) > + && real_iszero (&op1.upper_bound ()) > + && real_iszero (&op2.lower_bound ()) > + && real_iszero (&op2.upper_bound ()) > + && !maybe_isnan (op1, op2)) > + // [-0.0, 0.0] != [-0.0, 0.0] or similar. > + r = range_false (type); > else > { > // If ranges do not intersect, we know the range is not equal, > > > Jakub >