From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com [IPv6:2a00:1450:4864:20::336]) by sourceware.org (Postfix) with ESMTPS id 2C9963858D28 for ; Wed, 12 Apr 2023 16:35:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2C9963858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-wm1-x336.google.com with SMTP id v14-20020a05600c470e00b003f06520825fso12016090wmo.0 for ; Wed, 12 Apr 2023 09:35:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1681317338; x=1683909338; h=content-transfer-encoding:mime-version:message-id:references :in-reply-to:subject:to:from:date:from:to:cc:subject:date:message-id :reply-to; bh=YM/GgW7fBttJNy/XsJ59jWrMPkTzJJc3Dcz1YjRiJ5M=; b=lNAJmKnNWzLjaWFW4wSkYBGpKmiex4yVWYQSc25j7lXj9xH3zy0ilKouKKD50zB7yQ u1r/qwJ/esSU0zTxsxQls/xv6pN9W98Z5iyrdz0IZ+4M6ZcLxn3QXJiwSjcFYDKdm6RT iBjbK6ssACk/txhbChbTwBCwCc2xRdH3nDMwq6b5UtrCJo6Q9sxN8RNmnm9YUPWh5CVA mEyBdYjF/3uVtF7cPM3iaeaMAoakkL9y85kP1V221zhfwDHZAGprS/aq6x+4sFdBqTDH 7GWjPMqNvoTiHcRPPG7Tt/Okdp6v1hmAecZTGZdgnzbQEezoYBfivntn9Hrvla/eF89n 48+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681317338; x=1683909338; h=content-transfer-encoding:mime-version:message-id:references :in-reply-to:subject:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YM/GgW7fBttJNy/XsJ59jWrMPkTzJJc3Dcz1YjRiJ5M=; b=hPqkGZTICMvtiH/3yO4JKLgBc6YC3Zqx71YsWgDncp9fYq0mw99lUUmwO9U7qAbYNL 8Jlt0KzkTeOp2wlsykrzPWbyMTHLIPjlbTKMh1uTPIRBc109DcKTYLqK74/D4UMJrJsd 8+8eecXgie47BuuPn0BhIUlSrfex2vkmNMuW4fiQOeREdRQqiB1/ZyZZ/fxP1gzPbXl2 VMnbK2IB7dMNisBwc8kq2+6JWIQWMQqYUycJMoFHRRMpxBkCSQms9zWDNcHfi2zOc6YT nXY4pqNj/tjkghRGnR/L+70SpCKKx93SbIouC8zI/xYIMRWrty5pzvUcFFWwjrlVf07V ATxQ== X-Gm-Message-State: AAQBX9eRNJaGk+8A4yndwn1Q3IhWGXGE+yXbB4KauJkZZw26SAc++1AE oKQdpr0nNSGiMM9QKvDgcOI= X-Google-Smtp-Source: AKy350ZDxuU5vtVZ1m7DseVCmf7OY1xWRzdXDDypRoHBEhZnDtB4Qy+lVNo3iDxvluW1sq/HrugGgQ== X-Received: by 2002:a1c:c90f:0:b0:3f0:8ed8:853c with SMTP id f15-20020a1cc90f000000b003f08ed8853cmr4792877wmb.37.1681317337767; Wed, 12 Apr 2023 09:35:37 -0700 (PDT) Received: from ?IPv6:::1? ([2001:4bb8:125:c26::2dfa:81f5]) by smtp.gmail.com with ESMTPSA id f21-20020a1c6a15000000b003ee1b2ab9a0sm2864812wmc.11.2023.04.12.09.35.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 12 Apr 2023 09:35:36 -0700 (PDT) Date: Wed, 12 Apr 2023 18:35:29 +0200 From: Bernhard Reutner-Fischer To: Jakub Jelinek , Jakub Jelinek via Gcc-patches , Andrew MacLeod , Aldy Hernandez , gcc-patches@gcc.gnu.org Subject: =?US-ASCII?Q?Re=3A_=5BRFC_PATCH=5D_range-op-float=3A_Fix?= =?US-ASCII?Q?_up_op1=5Fop2=5Frelation_of_comparisons?= In-Reply-To: References: <7ad17002-8df2-c268-03f5-902ed57f3a97@redhat.com> Message-ID: <1C3AF517-6578-4052-8C9B-1D74953FB00D@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-3.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,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 List-Id: On 12 April 2023 16:21:24 CEST, Jakub Jelinek via Gcc-patches wrote: >--- gcc/range-op-float=2Ecc=2Ejj 2023-04-12 12:17:44=2E784962757 +0200 >+++ gcc/range-op-float=2Ecc 2023-04-12 16:07:54=2E948759355 +0200 >@@ -835,10 +835,17 @@ public: > bool fold_range (irange &r, tree type, > const frange &op1, const frange &op2, > relation_trio =3D TRIO_VARYING) const final override; >- relation_kind op1_op2_relation (const irange &lhs, const frange &, >- const frange &) const final override >+ relation_kind op1_op2_relation (const irange &lhs, const frange &op1, >+ const frange &op2) const final override > { >- return lt_op1_op2_relation (lhs); >+ relation_kind ret =3D lt_op1_op2_relation (lhs); >+ if (ret =3D=3D VREL_GE >+ && (op1=2Eknown_isnan () >+ || op1=2Emaybe_isnan () >+ || op2=2Eknown_isnan () >+ || op2=2Emaybe_isnan ())) >+ ret =3D VREL_VARYING; // Inverse of VREL_LT is VREL_UNGE with NAN = ops=2E >+ return ret; > } > bool op1_range (frange &r, tree type, > const irange &lhs, const frange &op2, >@@ -952,9 +959,17 @@ public: > bool fold_range (irange &r, tree type, > const frange &op1, const frange &op2, > relation_trio rel =3D TRIO_VARYING) const final override; >- relation_kind op1_op2_relation (const irange &lhs, const frange &, >- const frange &) const final override >+ relation_kind op1_op2_relation (const irange &lhs, const frange &op1, >+ const frange &op2) const final override > { >+ relation_kind ret =3D le_op1_op2_relation (lhs); >+ if (ret =3D=3D VREL_GT >+ && (op1=2Eknown_isnan () >+ || op1=2Emaybe_isnan () >+ || op2=2Eknown_isnan () >+ || op2=2Emaybe_isnan ())) >+ ret =3D VREL_VARYING; // Inverse of VREL_LE is VREL_UNGT with NAN = ops=2E >+ return ret; > return le_op1_op2_relation (lhs); I think you forgot to delete the above return=2E thanks,