From patchwork Fri Mar 18 11:51:34 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 11374 Received: (qmail 110895 invoked by alias); 18 Mar 2016 11:51:48 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 110883 invoked by uid 89); 18 Mar 2016 11:51:47 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 spammy=multiarch, ENTRY, Hx-languages-length:1092, Amit.Pawar@amd.com X-HELO: mail-qk0-f178.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=99lKIpJrD9oqUpmrWwzM2C2ySd7h2ni/ycrfXB+VU/I=; b=A06DMzy6rdjjwcJcqN2Sk10E/+hV5RsRDCXnJOChbck2njzwNSRhnJ4lQGt14waHBP GsrBvUPgG7uJe+gl1OAn43y/+n9QpOb0OB0ZpcV/0q1/mlEgy5WPJBGivzDC5VUVOtJv GMnHA/5iBMLqG7k1fQipPrrSTUjorc9B67H89uHd+1NOYFAlL3DCK73CjRIdFTv81faO Ql42GLjX2IEcunj+ZFLTRVIxudJIZ+AM2BEQM4NSld1SqHDv4brmnXxsm5N8Q/HmcUMD wExGSzTN4P1wXbXmSQ1DlrGmWm/XL/BvI3AinUSrQKotqPSfBcgb5c2aDpfCSyfV0uHE npoQ== X-Gm-Message-State: AD7BkJLYKn+h84Avojsq1lyrKraFIEddxtYnireKeU8wsEYXkYYqUYrirEhvZz84A4gJxasur8DpVJPPKeXu1g== MIME-Version: 1.0 X-Received: by 10.55.80.131 with SMTP id e125mr21304877qkb.62.1458301894902; Fri, 18 Mar 2016 04:51:34 -0700 (PDT) In-Reply-To: References: Date: Fri, 18 Mar 2016 04:51:34 -0700 Message-ID: Subject: Re: [PATCH x86_64] Update memcpy, mempcpy and memmove selection order for Excavator CPU BZ #19583 From: "H.J. Lu" To: "Pawar, Amit" Cc: "libc-alpha@sourceware.org" On Fri, Mar 18, 2016 at 4:43 AM, Pawar, Amit wrote: > As per the comments, attached files are updated. If OK please commit. > > Thanks, > Amit to disable __memcpy_avx_unaligned, not select __memcpy_ssse3_back. Each selection should be loaded only once. diff --git a/sysdeps/x86_64/multiarch/memcpy.S b/sysdeps/x86_64/multiarch/memcpy.S index 8882590..3c67da8 100644 --- a/sysdeps/x86_64/multiarch/memcpy.S +++ b/sysdeps/x86_64/multiarch/memcpy.S @@ -40,7 +40,7 @@ ENTRY(__new_memcpy) #endif 1: lea __memcpy_avx_unaligned(%rip), %RAX_LP HAS_ARCH_FEATURE (AVX_Fast_Unaligned_Load) - jnz 2f + jnz 3f lea __memcpy_sse2_unaligned(%rip), %RAX_LP HAS_ARCH_FEATURE (Fast_Unaligned_Load) jnz 2f @@ -52,6 +52,10 @@ ENTRY(__new_memcpy) jnz 2f lea __memcpy_ssse3(%rip), %RAX_LP 2: ret +3: HAS_ARCH_FEATURE (Avoid_AVX_Fast_Unaligned_Load) + jz 2b + lea __memcpy_ssse3_back(%rip), %RAX_LP + ret END(__new_memcpy) This is wrong. You should check Avoid_AVX_Fast_Unaligned_Load