From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2136) id CA2AA3858425; Fri, 8 Sep 2023 21:04:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CA2AA3858425 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1694207066; bh=iUY78eZSrIyJzkc4g8TSOOns8lopzaZW74S0Dq4FdZg=; h=From:To:Subject:Date:From; b=UKdhQPiWyrKGcCuPMkWpDNSimNdxxFRXJFj1LNil3St7AFXWFUxjnTNEIUMs0ATHX Fh66FK9uPB4vNTbZlIgf2AJs0S6ESVcxwXv09SvKnvqRXVOAbKXWJlj6d5MRX0L4bj jQTingn2BzYOqfZt5j2BrVDMroH6WE5TaKn/F/J4= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Aldy Hernandez To: gcc-cvs@gcc.gnu.org Subject: [gcc r14-3814] [frange] Revert relation handling in LTGT_EXPR. X-Act-Checkin: gcc X-Git-Author: Aldy Hernandez X-Git-Refname: refs/heads/master X-Git-Oldrev: d9926c0d974646dc6024d5a881fe1bee2f499139 X-Git-Newrev: 67761b3b8fcef0fa6b61afab540fa78f7cdd3e4d Message-Id: <20230908210426.CA2AA3858425@sourceware.org> Date: Fri, 8 Sep 2023 21:04:26 +0000 (GMT) List-Id: https://gcc.gnu.org/g:67761b3b8fcef0fa6b61afab540fa78f7cdd3e4d commit r14-3814-g67761b3b8fcef0fa6b61afab540fa78f7cdd3e4d Author: Aldy Hernandez Date: Thu Sep 7 20:27:35 2023 -0400 [frange] Revert relation handling in LTGT_EXPR. In trying to come up with a missing testcase for commit 979e0fbf53cd, I've realized the patch doesn't catch anything. A relation of VREL_EQ in foperator_ltgt::fold_range() is either both arguments the same (x LTGT_EXPR x), which we should never emit, or two arguments that are actually the same, in which case !NAN applies, and the whole thing can be handled as NE_EXPR further down. gcc/ChangeLog: * range-op-float.cc (foperator_ltgt::fold_range): Do not special case VREL_EQ nor call frelop_early_resolve. Diff: --- gcc/range-op-float.cc | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/gcc/range-op-float.cc b/gcc/range-op-float.cc index 89c401e040a2..cc729e12a9ec 100644 --- a/gcc/range-op-float.cc +++ b/gcc/range-op-float.cc @@ -2206,21 +2206,6 @@ public: const frange &op1, const frange &op2, relation_trio trio = TRIO_VARYING) const final override { - relation_kind rel = trio.op1_op2 (); - - // VREL_EQ is really VREL_(UN)EQ because we could have a NAN in - // the operands, but since LTGT_EXPR is really a NE_EXPR without - // the NAN, VREL_EQ & LTGT_EXPR is an impossibility. - if (rel == VREL_EQ) - { - r = range_false (type); - return true; - } - // ...otherwise pretend we're trying to resolve a NE_EXPR and - // everything will "just work". - if (frelop_early_resolve (r, type, op1, op2, trio, VREL_NE)) - return true; - if (op1.known_isnan () || op2.known_isnan ()) { r = range_false (type);