From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 543F23858C50; Tue, 27 Sep 2022 15:22:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 543F23858C50 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1664292140; bh=p3MTUSiyt1E22vSYGD8mFjX1XVVyWu69jb+nKPUomOw=; h=From:To:Subject:Date:In-Reply-To:References:From; b=usjAVt/55Hq4u5c3Jub3vugeIHgMtEERhoirREgC7nhy2GwsD1JNvqP4ZskGH765R YeTh1Wj+Bbo2/gOQR5OKqRY+UiCx5ymtW2rV3qrchs37jXuCEmrecOcHmojUoqWBvN NR3PIzZuILPq/2jqJ1Zj4yq09ccBTG38L+XWPjKo= From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/107043] range information not used in popcount Date: Tue, 27 Sep 2022 15:22:20 +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: enhancement X-Bugzilla-Who: jakub at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc 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=3D107043 Jakub Jelinek changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #4 from Jakub Jelinek --- I think ccp tracks instead a pair of value and mask, X & ~mask =3D=3D value & ~mask. So, set bits in the mask mean don't know if the bit is set or clear, clear bits mean we know it and the corresponding bit in value says if it is known to be zero or non-zero. That way we can express these 5 bits are known to be zero and these other 3 bits are known to be set, the rest unknown.=