From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 281273858014; Wed, 2 Feb 2022 14:26:59 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 281273858014 From: "roger at nextmovesoftware dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/104345] nvptx: "regression" after "nvptx: Transition nvptx backend to STORE_FLAG_VALUE = 1" Date: Wed, 02 Feb 2022 14:26:59 +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: 12.0 X-Bugzilla-Keywords: openacc X-Bugzilla-Severity: minor X-Bugzilla-Who: roger at nextmovesoftware dot com 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 bug_status cf_reconfirmed_on everconfirmed 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: Wed, 02 Feb 2022 14:26:59 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D104345 Roger Sayle changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |roger at nextmovesoftware = dot com Status|UNCONFIRMED |NEW Last reconfirmed| |2022-02-02 Ever confirmed|0 |1 --- Comment #1 from Roger Sayle --- Hi Torsten, Thanks for the bug report. The STORE_FLAG_VALUE=3D1 patch was one of a ser= ies to dramatically improve the quality of nvptx code. Alas not all of them have = yet been reviewed/approved, and it's likely these later improvements address the quality regression you're seeing. The other patches in the "nvptx Boolean" series are: patchq3: nvptx: Expand QI mode operations using SI mode instructions. https://gcc.gnu.org/pipermail/gcc-patches/2022-January/587999.html patchq4: nvptx: Fix and use BI mode logic instructions (e.g. and.pred). https://gcc.gnu.org/pipermail/gcc-patches/2022-January/588555.html [and purely for reference, my other outstanding nvptx patches are] patchn: nvptx: Improved support for HFMode including neghf2 and abshf2. https://gcc.gnu.org/pipermail/gcc-patches/2022-January/587949.html patchw: nvptx: Add support for 64-bit mul.hi (and other) instructions. https://gcc.gnu.org/pipermail/gcc-patches/2022-January/588453.html And one other related patch is that there's also a middle-end SUBREG patch intended to improve code generation on nvptx is also pending at: patchs: Simplify paradoxical subreg extensions of TRUNCATE https://gcc.gnu.org/pipermail/gcc-patches/2021-September/578848.html My guess is that patchq3+patchq4 above should (hopefully) resolve this particular regression. If you could give them a spin on your system to see if they reduce register pressure sufficiently for this case, that would be greatly appreciated. As you can read in the above postings, the total number of instructions/registers (after all of these changes) should be dramatically reduced. I'll see what I can do from my end.=