From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 38EC53853830; Sat, 22 Jul 2023 20:55:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 38EC53853830 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1690059350; bh=tUCRyvlEweLGs7HAWFQdPL51nA4N8bC3irqqQnTTXrY=; h=From:To:Subject:Date:In-Reply-To:References:From; b=lnH2ZuFoVA8dXr0v5HvTHxlb9ud/i6kUkgwlljseiHH7f1JuiE70effXBTlxxJRbU ql9cBJ+OOF1teiLvgBRDzdEIEn6LLDRYr4rjzWzqMKCbaI4bGS6FDyuDp6NhEnqyYW xMqaPXfup6X/qGVBvZJfObIF2OKvjFHS8jRGIMOk= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/110587] [14 regression] 96% pr28071.c compile time regression since r14-2337-g37a231cc7594d1 Date: Sat, 22 Jul 2023 20:55:47 +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: compile-time-hog, ra X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: roger at nextmovesoftware dot com X-Bugzilla-Target-Milestone: 14.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=3D110587 --- Comment #13 from CVS Commits --- The master branch has been updated by Roger Sayle : https://gcc.gnu.org/g:8125b12f846b41f26e58c0fe3b218d654f65d1c8 commit r14-2730-g8125b12f846b41f26e58c0fe3b218d654f65d1c8 Author: Roger Sayle Date: Sat Jul 22 21:52:55 2023 +0100 i386: Don't use insvti_{high,low}part with -O0 (for compile-time). This patch attempts to help with PR rtl-optimization/110587, a regressi= on of -O0 compile time for the pathological pr28071.c. My recent patch he= lps a bit, but hasn't returned -O0 compile-time to where it was before my ix86_expand_move changes. The obvious solution/workaround is to guard these new TImode parameter passing optimizations with "&& optimize", so they don't trigger when compiling with -O0. The very minor complication is that "&& optimize" alone leads to the regression of pr110533.c, where our improved TImode parameter passing fixes a wrong-code issue with nak= ed functions, importantly, when compiling with -O0. This should explain the one line fix below "&& (optimize || ix86_function_naked (cfun))". I've an additional fix/tweak or two for this compile-time issue, but this change eliminates the part of the regression that I've caused. 2023-07-22 Roger Sayle gcc/ChangeLog * config/i386/i386-expand.cc (ix86_expand_move): Disable the 64-bit insertions into TImode optimizations with -O0, unless the function has the "naked" attribute (for PR target/110533).=