From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id D58773858404; Mon, 20 Sep 2021 02:28:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D58773858404 From: "goldstein.w.n at gmail dot com" To: glibc-bugs@sourceware.org Subject: [Bug string/28354] For x86_64 string/memory functions use of EVEX registers sets HI16_ZMM_state adding context switch overhead Date: Mon, 20 Sep 2021 02:28:55 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: glibc X-Bugzilla-Component: string X-Bugzilla-Version: 2.34 X-Bugzilla-Keywords: X-Bugzilla-Severity: minor X-Bugzilla-Who: goldstein.w.n at gmail dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc cf_gcctarget Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: glibc-bugs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Glibc-bugs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Sep 2021 02:28:55 -0000 https://sourceware.org/bugzilla/show_bug.cgi?id=3D28354 Noah Goldstein changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |goldstein.w.n at gmail dot= com Target| |x86_64-linux --- Comment #1 from Noah Goldstein --- My general opinion is that we should move the current evex function to evex= -rtm and add a new class of evex function which may use avx512 functions but sta= y in the ymm0-ymm15 register range. Benefits: 1) evex instructions cost more code size (+2 bytes at least) 2) Its impossible to encode certain useful instructions with the evex prefix (i.e `vpcmpeq`) 3) We may be adding 1024 bytes to uses context switches. Costs: 1) vzeroupper is not free (in terms of code size or execution). 2) more total code size consumer by the library (this is limited by the fact that they will be in their own section and users will generally only stay in one section for all string/memory functions) --=20 You are receiving this mail because: You are on the CC list for the bug.=