From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 9816538E80BF; Thu, 8 Dec 2022 16:37:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9816538E80BF DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1670517455; bh=u4WCgbnUk/56bKo39SYOKVWJoTWUCXiZfnrHfhVOEMc=; h=From:To:Subject:Date:In-Reply-To:References:From; b=X1lnI7o2kyPY6iJQ49USFfubhqxJowRoKbayHWS2ILGfnqvYQUF1oYiV6H7A6KIA/ O4xjn2RU0RYSlqP9prjvmeGEkSxm3yuM3yWkyE6r/I465jMrhHSKOvsSn32uk5c4Xe KSo1OX2Ez5RaKsa+S13llIxaLdwfQRPBcJTdnCes= From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/107569] [13 Regression] Failure to optimize std::isfinite since r13-3596 Date: Thu, 08 Dec 2022 16:37:34 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 13.0 X-Bugzilla-Keywords: missed-optimization X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P1 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 13.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D107569 --- Comment #42 from Jakub Jelinek --- On #c0 foo, this was previously optimized in dom2 which optimized _4 =3D ABS_EXPR ; _3 =3D _4 u> 1.79769313486231570814527423731704356798070567525844996599e+= 308; _5 =3D ~_3; if (_4 u> 1.79769313486231570814527423731704356798070567525844996599e+308) goto ; [0.00%] else goto ; [100.00%] [count: 0]: __builtin_unreachable (); [local count: 1073741824]: return _5; without any frange related stuff as: - if (_4 u> 1.79769313486231570814527423731704356798070567525844996599e+30= 8) + if (_3 !=3D 0) and - return _5; + return 1; But because __builtin_unreachable () is now removed earlier (vrp1 already; without providing useful global range though), we don't do that anymore.=