From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 18DEF3858CD1; Thu, 21 Mar 2024 16:05:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 18DEF3858CD1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1711037155; bh=XUTOJLIhDNJoeu2VfLIGohvtWnXjQqLx+at6UqR/9zw=; h=From:To:Subject:Date:From; b=RPPPMTSa0n5OVo07gJOgcmoa8+RvB3WXDLz3Rx/cX2oLloAKLlVVy3g4fe24W8QIe iXIhxnlvsKAGMtpoQswdcmQ/asleh41cFqrIZk3KRsVwG75CRteWbGW3ISuTUKU895 Sx04AcG3rQJlOno3jyxuI4nPRhOR8GA8P3ItLIIY= From: "lee.imple at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug libstdc++/114417] New: simd parameters are passed by memory on x64 , not using the available sse registers Date: Thu, 21 Mar 2024 16:05:54 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libstdc++ X-Bugzilla-Version: unknown X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: lee.imple at gmail dot com X-Bugzilla-Status: UNCONFIRMED 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: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone Message-ID: 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=3D114417 Bug ID: 114417 Summary: simd parameters are passed by memory on x64 , not using the available sse registers Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: lee.imple at gmail dot com Target Milestone: --- https://godbolt.org/z/3GYnadqc1 In current implementation, SIMD parameters are passed by memory, while the equivalent vector parameters are passed by SSE registers. If the equivalent vector parameters can be passed by SSE registers, can we use SSE registers = for SIMD parameters? Maybe the performance difference is not so significant, but I just want to = keep everything in registers.=