From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id CCEFF3858003; Tue, 16 Nov 2021 16:07:41 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CCEFF3858003 From: "martin at martin dot st" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/103274] Remaining -freorder-blocks-and-partition/ glitch with Windows SEH Date: Tue, 16 Nov 2021 16:07:41 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 10.3.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: martin at martin dot st X-Bugzilla-Status: WAITING 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: 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 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Nov 2021 16:07:41 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D103274 --- Comment #4 from Martin Storsj=C3=B6 --- Also for additional context; with GCC 9.x, this testcase had the needed nop instruction between "call" and ".seh_endproc". In GCC 10.x (regressed in https://gcc.gnu.org/git/?p=3Dgcc.git;a=3Dcommitdiff;h=3D095f78c62157124ad47= 9a3f98b6995ced090b807), -freorder-blocks-and-partition applies on this function and it gets split i= nto a hot and cold part, and the needed "nop" instruction disappeared. If building with -fno-reorder-blocks-and-partition, the issue disappears and you get roughly the same output as in GCC 9.x This seems like the same issue as was fixed in https://gcc.gnu.org/git/?p=3Dgcc.git;a=3Dcommitdiff;h=3D15278fb2877184c75a6= ee3a6def09efbb191968b;hp=3D9d3b9a3e70e634c7c48bb12bb35ec8219024f98b - but that fix doesn't seem to help here, as builds of GCC that include that commit still are missing the nop between "call" and ".seh_endproc".=