From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 84BF93858CD1; Sun, 10 Dec 2023 12:16:14 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 84BF93858CD1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1702210574; bh=6Kc6oF8ptUYMXPInf8nZNZd915QcPgXfHlCpeM3BjmI=; h=From:To:Subject:Date:In-Reply-To:References:From; b=kax35y107te0wT6E2Pe9tnaZYcRCnJnlDiHt75QSy6qPId3R/wTrcZIgIF4UrImId RTbBaOyyhNjx3/xAgYt67mEhiGhEsPVOch3Cie1oqyj0KR/Q5v4bSNp/CYPFJua2aV 1OcBomx5EWR/mfSRS/8hCpzDlI3Et9LBYNdXFWxE= From: "segher at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/112758] [13/14 Regression] Inconsistent Bitwise AND Operation Result between int and long long int Date: Sun, 10 Dec 2023 12:16:12 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: rtl-optimization X-Bugzilla-Version: 14.0 X-Bugzilla-Keywords: needs-bisection, wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: segher 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: 13.3 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=3D112758 --- Comment #12 from Segher Boessenkool --- (In reply to Eric Botcazou from comment #11) > > It says those upper bits are well-defined, i.e. whatever MD pattern is = used > > for it eventually will emit machine code that has the exact same result= for > > those upper bits. >=20 > No, that's not true, the set of "register operations" is restricted. Who what where? That is not how it is documented. There is word_register_operation_p as a bandaid to make it *somewhat* work, added decades later, but it still won't fly :-( Different parts of the compiler think it has much more stringent semantics = btw.=