From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-vs1-xe2c.google.com (mail-vs1-xe2c.google.com [IPv6:2607:f8b0:4864:20::e2c]) by sourceware.org (Postfix) with ESMTPS id 418A0383581F; Thu, 12 May 2022 20:12:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 418A0383581F Received: by mail-vs1-xe2c.google.com with SMTP id v139so6415456vsv.0; Thu, 12 May 2022 13:12:52 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Ivj1peN98K5jGnbHCG56huanIx7XLlBWArsFauvdVVE=; b=CWyGsbofKITeHVTuLzl1qMIQ248r/ruvCtGOc/dD3Lod6R3Dh6lT8Em0WEinIK61NA qhlQP5TPc7esoW8c5KEJZ1netM7nGgw8Rt5JU57VOJZ1m8kclu0aIlmPZ6F2fuUmRb5R z88kmVHfKXcUs9Lpx7Mrn6lIsvki7N6irHkXIkQdDNtWlf2WL+ACdafLVmrpAiKikDfg 1rBMF+9IBchlCMAk1HlopsVuhMF2pArsQD/Hmwl/Lhx9bisYav1bqCRIXANhKhhT5vqD twCdt7rxoi8SzU940ccQU/IcDLmEKe0sgXquDc48EXL3Rd8SQsTKGzPzqJgTCAfggTJB 0b7A== X-Gm-Message-State: AOAM5330UDvxqbaivPExkZU8xngzxiZHi8rtykw9MNX39lhhBzhT9XY/ L08W2rNJBQnnOVuYkT45QSuPKk3VKUZA/flXbHs= X-Google-Smtp-Source: ABdhPJy8Hbxg3MOIfM4yfcKsTar5Rgnxhq3E+EMDMvtLdz0O0cVj8Ge3V1TP0VlE0JQEDJb5NBS/i6lJd2xhn/Q1koc= X-Received: by 2002:a67:d396:0:b0:32d:76fc:ae33 with SMTP id b22-20020a67d396000000b0032d76fcae33mr1127527vsj.28.1652386371657; Thu, 12 May 2022 13:12:51 -0700 (PDT) MIME-Version: 1.0 References: <20220422175800.1262332-1-hjl.tools@gmail.com> In-Reply-To: From: Sunil Pandey Date: Thu, 12 May 2022 13:12:15 -0700 Message-ID: Subject: Re: [PATCH] x86-64: Fix SSE2 memcmp and SSSE3 memmove for x32 To: Noah Goldstein , Libc-stable Mailing List Cc: "H.J. Lu" , GNU C Library Content-Type: multipart/mixed; boundary="000000000000b6f61d05ded62e8a" X-Spam-Status: No, score=-7.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-stable@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-stable mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 May 2022 20:12:54 -0000 --000000000000b6f61d05ded62e8a Content-Type: text/plain; charset="UTF-8" On Fri, Apr 22, 2022 at 11:07 AM Noah Goldstein via Libc-alpha wrote: > > On Fri, Apr 22, 2022 at 12:58 PM H.J. Lu wrote: > > > > Clear the upper 32 bits in RDX (memory size) for x32 to fix > > > > FAIL: string/tst-size_t-memcmp > > FAIL: string/tst-size_t-memcmp-2 > > FAIL: string/tst-size_t-memcpy > > FAIL: wcsmbs/tst-size_t-wmemcmp > > > > on x32 introduced by > > > > 8804157ad9 x86: Optimize memcmp SSE2 in memcmp.S > > 26b2478322 x86: Reduce code size of mem{move|pcpy|cpy}-ssse3 > > --- > > sysdeps/x86_64/memcmp.S | 4 ++++ > > sysdeps/x86_64/multiarch/memmove-ssse3.S | 4 ++++ > > 2 files changed, 8 insertions(+) > > > > diff --git a/sysdeps/x86_64/memcmp.S b/sysdeps/x86_64/memcmp.S > > index b153694048..5718a7da86 100644 > > --- a/sysdeps/x86_64/memcmp.S > > +++ b/sysdeps/x86_64/memcmp.S > > @@ -46,6 +46,10 @@ > > > > .text > > ENTRY(MEMCMP) > > +# ifdef __ILP32__ > > + /* Clear the upper 32 bits. */ > > + movl %edx, %edx > > +# endif > > #ifdef USE_AS_WMEMCMP > > /* Use 0xffff to test for mismatches on pmovmskb bitmask. Store > > in ecx for code size. This is preferable to using `incw` as > > diff --git a/sysdeps/x86_64/multiarch/memmove-ssse3.S b/sysdeps/x86_64/multiarch/memmove-ssse3.S > > index 215583e7bd..310ff62b86 100644 > > --- a/sysdeps/x86_64/multiarch/memmove-ssse3.S > > +++ b/sysdeps/x86_64/multiarch/memmove-ssse3.S > > @@ -27,6 +27,10 @@ ENTRY(MEMMOVE_CHK) > > END(MEMMOVE_CHK) > > > > ENTRY_P2ALIGN(MEMMOVE, 6) > > +# ifdef __ILP32__ > > + /* Clear the upper 32 bits. */ > > + movl %edx, %edx > > +# endif > > movq %rdi, %rax > > L(start): > > cmpq $16, %rdx > > -- > > 2.35.1 > > > > LGTM. I would like to backport this patch to release branches. Any comments or objections? Conflict resolution patch attached. --Sunil --000000000000b6f61d05ded62e8a Content-Type: application/octet-stream; name="0023-x86-64-Fix-SSE2-memcmp-and-SSSE3-memmove-for-x32.patch" Content-Disposition: attachment; filename="0023-x86-64-Fix-SSE2-memcmp-and-SSSE3-memmove-for-x32.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l33g5nho0 RnJvbSA2ZTM3YjI0MTk0ZTIzNjFiNTEzYTQ5YWI5MmE2ODY5NTZmMWNiZWFjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhqbC50b29sc0BnbWFpbC5jb20+CkRhdGU6 IEZyaSwgMjIgQXByIDIwMjIgMTA6NTM6MTMgLTA3MDAKU3ViamVjdDogW1BBVENIIDIzLzI2XSB4 ODYtNjQ6IEZpeCBTU0UyIG1lbWNtcCBhbmQgU1NTRTMgbWVtbW92ZSBmb3IgeDMyCgpDbGVhciB0 aGUgdXBwZXIgMzIgYml0cyBpbiBSRFggKG1lbW9yeSBzaXplKSBmb3IgeDMyIHRvIGZpeAoKRkFJ TDogc3RyaW5nL3RzdC1zaXplX3QtbWVtY21wCkZBSUw6IHN0cmluZy90c3Qtc2l6ZV90LW1lbWNt cC0yCkZBSUw6IHN0cmluZy90c3Qtc2l6ZV90LW1lbWNweQpGQUlMOiB3Y3NtYnMvdHN0LXNpemVf dC13bWVtY21wCgpvbiB4MzIgaW50cm9kdWNlZCBieQoKODgwNDE1N2FkOSB4ODY6IE9wdGltaXpl IG1lbWNtcCBTU0UyIGluIG1lbWNtcC5TCjI2YjI0NzgzMjIgeDg2OiBSZWR1Y2UgY29kZSBzaXpl IG9mIG1lbXttb3ZlfHBjcHl8Y3B5fS1zc3NlMwoKUmV2aWV3ZWQtYnk6IE5vYWggR29sZHN0ZWlu IDxnb2xkc3RlaW4udy5uQGdtYWlsLmNvbT4KKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgOGVh MjBlZTVmNjE0NWRlNGJmZjk0ODFkM2UwOWFjMzZiYTlkZjhmMykKLS0tCiBzeXNkZXBzL3g4Nl82 NC9tZW1jbXAuUyB8IDQgKysrKwogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQoKZGlm ZiAtLWdpdCBhL3N5c2RlcHMveDg2XzY0L21lbWNtcC5TIGIvc3lzZGVwcy94ODZfNjQvbWVtY21w LlMKaW5kZXggYjE1MzY5NDA0OC4uNTcxOGE3ZGE4NiAxMDA2NDQKLS0tIGEvc3lzZGVwcy94ODZf NjQvbWVtY21wLlMKKysrIGIvc3lzZGVwcy94ODZfNjQvbWVtY21wLlMKQEAgLTQ2LDYgKzQ2LDEw IEBACiAKIAkudGV4dAogRU5UUlkoTUVNQ01QKQorIyBpZmRlZiBfX0lMUDMyX18KKwkvKiBDbGVh ciB0aGUgdXBwZXIgMzIgYml0cy4gICovCisJbW92bAklZWR4LCAlZWR4CisjIGVuZGlmCiAjaWZk ZWYgVVNFX0FTX1dNRU1DTVAKIAkvKiBVc2UgMHhmZmZmIHRvIHRlc3QgZm9yIG1pc21hdGNoZXMg b24gcG1vdm1za2IgYml0bWFzay4gU3RvcmUKIAkgICBpbiBlY3ggZm9yIGNvZGUgc2l6ZS4gVGhp cyBpcyBwcmVmZXJhYmxlIHRvIHVzaW5nIGBpbmN3YCBhcwotLSAKMi4zNS4xCgo= --000000000000b6f61d05ded62e8a--