From patchwork Fri Jun 24 06:36:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Noah Goldstein X-Patchwork-Id: 1647651 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=x6WQXrIB; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4LTnWP0Rx7z9sFk for ; Fri, 24 Jun 2022 16:38:24 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6ECD03853542 for ; Fri, 24 Jun 2022 06:38:21 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6ECD03853542 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1656052701; bh=6EnPKop1CBSRz1svpdhhdDPlOYFtjlbHAjK0Hk7EPJs=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=x6WQXrIBTqGXGY0YnrgMSI9VjmzLcoibSMPYwxJM5gOz1NFjaeVO+pDO+6MNthZtb 39ZIZbKWOdzjlE74qwayaMbf5IT3Yfj3VPwXsm7wW4x7OEJUz++qYi7ipeiQMcg9sN 1x0hpQEJX58hv9hPF8Ygw1MhYGSPKmz7t0NJNp8k= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pj1-x102a.google.com (mail-pj1-x102a.google.com [IPv6:2607:f8b0:4864:20::102a]) by sourceware.org (Postfix) with ESMTPS id 50A74385AE40 for ; Fri, 24 Jun 2022 06:37:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 50A74385AE40 Received: by mail-pj1-x102a.google.com with SMTP id l2so675550pjf.1 for ; Thu, 23 Jun 2022 23:37:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=6EnPKop1CBSRz1svpdhhdDPlOYFtjlbHAjK0Hk7EPJs=; b=Xzkygwb9w0TlF4nRYBFa3YCcm291pszRDasMZnS9bt6P50Jx98WlrPeSt38X5vpC/e 33gv/6Cf3rlA1MekP+M1yGSm1Zr5gS6VKK1W9hHU+EgKpHTrsRwUhNLdRWjUZyABfG6A vF12JjAa5IQmOVJ37dbFByvhmSQX55hKuCeR3kddo0P2ARwDJfRO4CzX6VnLCSYx4WjQ lqA1QuCxfdB2/I9BstOZbb8ioaUR/LBm+Me3n70TfDawijclEB15tWimuqxjcQhWK5gg 9IKg6hPt9NQbdrzIRdgO2oulKiggo9DpU68G9nYbxRsWwkVZONqcG6H+YDBBd+dBsdNy K42g== X-Gm-Message-State: AJIora/CXn+QB0oWG1pv4o2aKy/GwchVQlsRi0S6XQ5RJnL9C3xr4qSc v+aHY48QfgYHukartxg5+31CCGz3WIRgww== X-Google-Smtp-Source: AGRyM1vK7ejiX5TEQ7q/drnVd5R34ovpqjVWEQlpYcStkIXriO1604G3UTPbdK3O44FIO9xq2p3jvQ== X-Received: by 2002:a17:902:ebcb:b0:168:e3ba:4b5a with SMTP id p11-20020a170902ebcb00b00168e3ba4b5amr42718548plg.11.1656052674124; Thu, 23 Jun 2022 23:37:54 -0700 (PDT) Received: from noah-tgl.. (c-73-231-94-136.hsd1.ca.comcast.net. [73.231.94.136]) by smtp.gmail.com with ESMTPSA id 71-20020a63034a000000b0040d2d9f15e0sm756682pgd.20.2022.06.23.23.37.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jun 2022 23:37:53 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH v1 1/7] x86: Align entry for memrchr to 64-bytes. Date: Thu, 23 Jun 2022 23:36:48 -0700 Message-Id: <20220624063653.2126416-1-goldstein.w.n@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, 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-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Noah Goldstein via Libc-alpha From: Noah Goldstein Reply-To: Noah Goldstein Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" The function was tuned around 64-byte entry alignment and performs better for all sizes with it. As well different code boths where explicitly written to touch the minimum number of cache line i.e sizes <= 32 touch only the entry cache line. --- Tested with: for march in "--disable-multi-arch" ""; do for ISA in "-march=x86-64-v4" "-march=x86-64-v3" "" "-march=x86-64-v2"; do echo "START: ${ISA} - $march"; rm -rf glibc-dev/build; mkdir -p glibc-dev/build/glibc/; (cd glibc-dev/build/glibc/; unset LD_LIBRARY_PATH; glibc-dev/src/glibc/configure --prefix=/usr CC="gcc ${ISA}" $march; make -j7 --silent; make -r -C glibc-dev/src/glibc/string/ objdir=`pwd` check; make -r -C glibc-dev/src/glibc/wcsmbs/ objdir=`pwd` check;); echo "DONE: ${ISA} - $march"; objdump -d build/glibc/string/memchr.o; objdump -d build/glibc/string/rawmemchr.o; objdump -d build/glibc/wcsmbs/wmemchr.o; cat build/glibc/string/test-memchr.out; cat build/glibc/string/test-memchr.test-result; cat build/glibc/string/test-rawmemchr.out; cat build/glibc/string/test-rawmemchr.test-result; cat build/glibc/wcsmbs/test-wmemchr.out; cat build/glibc/wcsmbs/test-wmemchr.test-result; done; done for march in "" "--disable-multi-arch"; do rm -rf build; mkdir -p build/glibc; (cd glibc-dev/build/glibc/; unset LD_LIBRARY_PATH; glibc-dev/src/glibc/configure CC="gcc -m32" CXX="g++ -m32" --prefix=/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu $march; make -j7 --silent;) done (cd glibc-dev/build/glibc/; unset LD_LIBRARY_PATH; glibc-dev/src/glibc/configure --prefix=/usr; make -j7 --silent; make -j7 check --silent); 5155 PASS 19 UNSUPPORTED 18 XFAIL 4 XPASS sysdeps/x86_64/multiarch/memrchr-avx2.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sysdeps/x86_64/multiarch/memrchr-avx2.S b/sysdeps/x86_64/multiarch/memrchr-avx2.S index 9c83c76d3c..f300d7daf4 100644 --- a/sysdeps/x86_64/multiarch/memrchr-avx2.S +++ b/sysdeps/x86_64/multiarch/memrchr-avx2.S @@ -35,7 +35,7 @@ # define VEC_SIZE 32 # define PAGE_SIZE 4096 .section SECTION(.text), "ax", @progbits -ENTRY(MEMRCHR) +ENTRY_P2ALIGN(MEMRCHR, 6) # ifdef __ILP32__ /* Clear upper bits. */ and %RDX_LP, %RDX_LP From patchwork Fri Jun 24 06:36:49 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Noah Goldstein X-Patchwork-Id: 1647652 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=OE/xhrU8; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4LTnY22T5Pz9sFk for ; Fri, 24 Jun 2022 16:39:50 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 775603853542 for ; Fri, 24 Jun 2022 06:39:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 775603853542 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1656052786; bh=/pE4FKBqRrHK7mxXFetajZu8vkocWFNz9o81Q2XAJME=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=OE/xhrU8kb8MHGTQDsFg6GVspw2nAPkNyR5OxInkV1+DTp/1bkWZYBP1YHERLS0UL oHqmSn78isQDFtWfCR0uzAUFQUqaIE+26XFGNKHDKc9PBiVoXfKCAJPt7l9khZd6AL tEXDjVfrG52SMc9QVIyJd/GnBfMONEficnVKlMEo= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) by sourceware.org (Postfix) with ESMTPS id 6B5EC385AE40 for ; Fri, 24 Jun 2022 06:37:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6B5EC385AE40 Received: by mail-pl1-x62f.google.com with SMTP id d5so1264973plo.12 for ; Thu, 23 Jun 2022 23:37:57 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=/pE4FKBqRrHK7mxXFetajZu8vkocWFNz9o81Q2XAJME=; b=2fdFry6zxuqmbI4siR1bt2Jpv+uiSqnUQ7bUl9a255RnJA0Y/XC/yIiVHCetuAdhsy RsJMduLY39LPIFbHcxgO6xSKTov8la3d0G9qWQE9tUBXcPfF83k1BQEDtwSiTAzBKUY1 fHa/GxoPZz0/6RtMyPfmU4bS9xx3FSVbL7bmBD2Zdu/JPlKq1KoZ5hgs5DOCR2Sx1X0O 5d2RuVTdErbkU+33l5pRpf1TnSGPaJmHVuct+hBbmjBDtW0JZmIfc/0n5lQqhkMeFGVT S4Qgz1+Cg79q920AaDBbZN0QLXV76jM8rW+Q78t87si2TAQvDbmWOY8hKbbAtv73Mvva +i3g== X-Gm-Message-State: AJIora8ww70Rex73HrxeMI7oKZXm/6rCoe1Zw8jVZXbtdCCqkQugropE IJqPn5D8ZYBwmF4tUwQp7mZFkraxGQ3zBQ== X-Google-Smtp-Source: AGRyM1svWhu/YTrBCZVRveOEn88i1bWHhWJscFabn89pMJ2+mjsRJ183Tsm5EvTH+GOuw9wnxzsP2A== X-Received: by 2002:a17:902:f707:b0:16a:176b:d75f with SMTP id h7-20020a170902f70700b0016a176bd75fmr28479452plo.158.1656052676280; Thu, 23 Jun 2022 23:37:56 -0700 (PDT) Received: from noah-tgl.. (c-73-231-94-136.hsd1.ca.comcast.net. [73.231.94.136]) by smtp.gmail.com with ESMTPSA id 71-20020a63034a000000b0040d2d9f15e0sm756682pgd.20.2022.06.23.23.37.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jun 2022 23:37:56 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH v1 2/7] x86: Rename strstr_sse2 to strstr_generic as it uses string/strstr.c Date: Thu, 23 Jun 2022 23:36:49 -0700 Message-Id: <20220624063653.2126416-2-goldstein.w.n@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220624063653.2126416-1-goldstein.w.n@gmail.com> References: <20220624063653.2126416-1-goldstein.w.n@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, 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-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Noah Goldstein via Libc-alpha From: Noah Goldstein Reply-To: Noah Goldstein Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This is in accordance with other files in the multiarch directory. --- sysdeps/x86_64/multiarch/ifunc-impl-list.c | 2 +- sysdeps/x86_64/multiarch/strstr-sse2-unaligned.S | 2 +- sysdeps/x86_64/multiarch/strstr.c | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sysdeps/x86_64/multiarch/ifunc-impl-list.c b/sysdeps/x86_64/multiarch/ifunc-impl-list.c index bf52cf96d0..0d28319905 100644 --- a/sysdeps/x86_64/multiarch/ifunc-impl-list.c +++ b/sysdeps/x86_64/multiarch/ifunc-impl-list.c @@ -627,7 +627,7 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array, && CPU_FEATURE_USABLE (BMI2)), __strstr_avx512) IFUNC_IMPL_ADD (array, i, strstr, 1, __strstr_sse2_unaligned) - IFUNC_IMPL_ADD (array, i, strstr, 1, __strstr_sse2)) + IFUNC_IMPL_ADD (array, i, strstr, 1, __strstr_generic)) /* Support sysdeps/x86_64/multiarch/wcschr.c. */ IFUNC_IMPL (i, name, wcschr, diff --git a/sysdeps/x86_64/multiarch/strstr-sse2-unaligned.S b/sysdeps/x86_64/multiarch/strstr-sse2-unaligned.S index 3d12ffdf1e..c6aa8f45a6 100644 --- a/sysdeps/x86_64/multiarch/strstr-sse2-unaligned.S +++ b/sysdeps/x86_64/multiarch/strstr-sse2-unaligned.S @@ -267,7 +267,7 @@ L(next_pair3): .p2align 4 L(switch_strstr): movq %rdi, %rdi - jmp __strstr_sse2 + jmp __strstr_generic .p2align 4 L(cross_page): diff --git a/sysdeps/x86_64/multiarch/strstr.c b/sysdeps/x86_64/multiarch/strstr.c index 2fb8b169b6..2b83199245 100644 --- a/sysdeps/x86_64/multiarch/strstr.c +++ b/sysdeps/x86_64/multiarch/strstr.c @@ -24,17 +24,17 @@ #include #undef strstr -#define STRSTR __strstr_sse2 +#define STRSTR __strstr_generic #ifdef SHARED # undef libc_hidden_builtin_def # define libc_hidden_builtin_def(name) \ - __hidden_ver1 (__strstr_sse2, __GI_strstr, __strstr_sse2); + __hidden_ver1 (__strstr_generic, __GI_strstr, __strstr_generic); #endif #include "string/strstr.c" extern __typeof (__redirect_strstr) __strstr_sse2_unaligned attribute_hidden; -extern __typeof (__redirect_strstr) __strstr_sse2 attribute_hidden; +extern __typeof (__redirect_strstr) __strstr_generic attribute_hidden; extern __typeof (__redirect_strstr) __strstr_avx512 attribute_hidden; #include "init-arch.h" @@ -58,7 +58,7 @@ IFUNC_SELECTOR (void) if (CPU_FEATURES_ARCH_P (cpu_features, Fast_Unaligned_Load)) return __strstr_sse2_unaligned; - return __strstr_sse2; + return __strstr_generic; } libc_ifunc_redirected (__redirect_strstr, __libc_strstr, IFUNC_SELECTOR ()); From patchwork Fri Jun 24 06:36:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Noah Goldstein X-Patchwork-Id: 1647653 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=Yv7qDLOJ; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4LTnZ65FBTz9sFk for ; Fri, 24 Jun 2022 16:40:46 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 92DC8384F018 for ; Fri, 24 Jun 2022 06:40:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 92DC8384F018 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1656052844; bh=gUbq3wqNg8aGbn6oo4po7SN07MH864C6uJhKXnazTiM=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=Yv7qDLOJWKAWwmHS4qE6LDtNoEAUJy9WzmkSW+IQkH3KGJDbL5z8rtLr5Qrhdb/8g VWd51SnOBcYu3Z8S0HsxXcs9iMxDKAD6NBqP4uHtGW2eJW38GcOluR2fM1sLBanfrO 0zG/gIclySJxExJtQQI0sLoSDNmanD9wjaPZVR+E= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com [IPv6:2607:f8b0:4864:20::62d]) by sourceware.org (Postfix) with ESMTPS id 90D49385C313 for ; Fri, 24 Jun 2022 06:37:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 90D49385C313 Received: by mail-pl1-x62d.google.com with SMTP id jb13so1279791plb.9 for ; Thu, 23 Jun 2022 23:37:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=gUbq3wqNg8aGbn6oo4po7SN07MH864C6uJhKXnazTiM=; b=oGE8XqmG7zPosFeXHphfjkoLZWKihU+jI48W8oM6b1a4y1MhSY6qAeyrGn5I6EQswH Rk70BSlO3mSnRqM8Tdxi6nmSLlHVdhV9l2RPSmNKhhhfTmwEKLfO8YKho9lI2bGQiWqn atN4UpN/ohtcgN96Zilakuq4cLnSevz+tzEYwM3ZY9LlklDGP1QLTgeJQXQ4iXx2+yq+ Ll0VUWWiAhS8QZijb81yUT+UBK5GMndsK9pMgGYJ6b+sA+AEwWxIOcAVodoYxCmi1zko REX411VP9GqxHbTSB4ov9fB46cLFgL2ewYh30KoZdoMeGNns3GT+CYRblcu9mZkpz1mZ xA0Q== X-Gm-Message-State: AJIora9+MKCKXeijWrFtQtemc8nbp00CRm787d+cSrTLcnSdaU9/pkug RmB/D6pHwMfE0SyTruwTOlmEJP52iUtO2w== X-Google-Smtp-Source: AGRyM1t36LLF8NJmdfE6DIVsmBwVvBDHTHcE2oqxANix3jLDKaRqYa6KA3yB95UAJ8voobysM4s0kQ== X-Received: by 2002:a17:90a:cb84:b0:1ea:ffd2:3075 with SMTP id a4-20020a17090acb8400b001eaffd23075mr2264549pju.106.1656052677470; Thu, 23 Jun 2022 23:37:57 -0700 (PDT) Received: from noah-tgl.. (c-73-231-94-136.hsd1.ca.comcast.net. [73.231.94.136]) by smtp.gmail.com with ESMTPSA id 71-20020a63034a000000b0040d2d9f15e0sm756682pgd.20.2022.06.23.23.37.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jun 2022 23:37:57 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH v1 3/7] x86: Add macro for NOT of a cpu arch feature and improve comments Date: Thu, 23 Jun 2022 23:36:50 -0700 Message-Id: <20220624063653.2126416-3-goldstein.w.n@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220624063653.2126416-1-goldstein.w.n@gmail.com> References: <20220624063653.2126416-1-goldstein.w.n@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, 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-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Noah Goldstein via Libc-alpha From: Noah Goldstein Reply-To: Noah Goldstein Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Some ARCH_P features such as Prefer_No_VZEROUPPER used to disable implementations if true as opposed fo the majority of features such as AVX2 which are used to enabled features. Different ISA build levels want override certain disabling features. For example ISA build level >= 3 should ignore Prefer_No_VZEROUPPER which means converting the check to false (as opposed to true for a feature like AVX2). --- sysdeps/x86/isa-ifunc-macros.h | 4 ++++ sysdeps/x86/isa-level.h | 7 ++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/sysdeps/x86/isa-ifunc-macros.h b/sysdeps/x86/isa-ifunc-macros.h index ba6826d518..e229e612a4 100644 --- a/sysdeps/x86/isa-ifunc-macros.h +++ b/sysdeps/x86/isa-ifunc-macros.h @@ -67,4 +67,8 @@ (X86_ISA_CPU_FEATURE_CONST_CHECK_ENABLED (name) \ || CPU_FEATURES_ARCH_P (ptr, name)) +#define X86_ISA_CPU_FEATURES_ARCH_P_NOT(ptr, name) \ + (!X86_ISA_CPU_FEATURE_CONST_CHECK_ENABLED (name) \ + && !CPU_FEATURES_ARCH_P (ptr, name)) + #endif diff --git a/sysdeps/x86/isa-level.h b/sysdeps/x86/isa-level.h index 7cae11c228..e1a30ed83e 100644 --- a/sysdeps/x86/isa-level.h +++ b/sysdeps/x86/isa-level.h @@ -66,10 +66,10 @@ /* - * CPU Features that are hard coded as enabled depending on ISA build - * level. + * CPU Features that are hard coded as enabled/disabled depending on + * ISA build level. * - Values > 0 features are always ENABLED if: - * Value >= MINIMUM_X86_ISA_LEVEL + * Value <= MINIMUM_X86_ISA_LEVEL */ @@ -92,6 +92,7 @@ /* * KNL (the only cpu that sets this supported in cpu-features.h) * builds with ISA V1 so this shouldn't harm any architectures. + * NB: Only use this feature with the ARCH_P_NOT macro. */ #define Prefer_No_VZEROUPPER_X86_ISA_LEVEL 3 From patchwork Fri Jun 24 06:36:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Noah Goldstein X-Patchwork-Id: 1647654 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=xFln/up6; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4LTnZw21Mpz9sFk for ; Fri, 24 Jun 2022 16:41:28 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0A81F3850238 for ; Fri, 24 Jun 2022 06:41:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0A81F3850238 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1656052886; bh=l6rSTSbgWepsdIO7ED68EPUg+IVcJR8R+tloYhUaYYc=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=xFln/up63HAcxbcQZ6JkWzamrMq/DoOqj/svosB2rXZ8AInyeiFZaqmtE4mcoFtxD +peKjmc7lkNaoj0DJLZrABo8e7Fln+TRDpJynZtBy7piN+F22ey8UfljAZynPxJIjc 7P5pei/WHNS4Ob39uDiYPn2Y+bEp8rusxEAUZNHM= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pj1-x102a.google.com (mail-pj1-x102a.google.com [IPv6:2607:f8b0:4864:20::102a]) by sourceware.org (Postfix) with ESMTPS id 5565F385E442 for ; Fri, 24 Jun 2022 06:37:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5565F385E442 Received: by mail-pj1-x102a.google.com with SMTP id k12-20020a17090a404c00b001eaabc1fe5dso4857856pjg.1 for ; Thu, 23 Jun 2022 23:37:59 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=l6rSTSbgWepsdIO7ED68EPUg+IVcJR8R+tloYhUaYYc=; b=zLNmcCX6WwZKoLFnKhIgDFkck8Hh0I7/mB/k+EMXzO+FLwLCHI1UicOUKgR8niFENW 4A1iU/l0udI/8nvjHFv6JJ8NNzU+75JLYsPMnm/gqlUgjH8eZb239Hev9iOvrSWv7OQi KxyPVNSxvVJ3hVLnxV/yjkOafpcOukQhwieCqsjGoXqN9o88nVbv39nQtmxll6J4exwI o5lBX04k1qNeIsvs7mS4m3qytmomVM/yoO80Q7b6D+wpZ9OvLnHVrDFEX1jwTSmll4Bx su2ES48uFglW45zECeKxnuTXGSKIumzNMFo2+xEyORZc6iZlqiuje5RG21frHDQt6WYk Yz9Q== X-Gm-Message-State: AJIora/843Ce11PWBYpndeY+CBras+fgRDUqnzkBcGO4pJqnE8HPgBoQ UGABc3CKE2nl7jR7mNhU7Nry5AMO0yehjA== X-Google-Smtp-Source: AGRyM1vtiBRd9toYwkUzi/LwyCOX6P+i2YIGsgPTMwd4sibJ+7A4jELK3wovbME31ld9xzmFgPHotg== X-Received: by 2002:a17:90a:dc82:b0:1ea:c77d:c9a4 with SMTP id j2-20020a17090adc8200b001eac77dc9a4mr2251379pjv.197.1656052678311; Thu, 23 Jun 2022 23:37:58 -0700 (PDT) Received: from noah-tgl.. (c-73-231-94-136.hsd1.ca.comcast.net. [73.231.94.136]) by smtp.gmail.com with ESMTPSA id 71-20020a63034a000000b0040d2d9f15e0sm756682pgd.20.2022.06.23.23.37.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jun 2022 23:37:58 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH v1 4/7] x86: Add comment with ISA level for all targets support by GCC12.1 Date: Thu, 23 Jun 2022 23:36:51 -0700 Message-Id: <20220624063653.2126416-4-goldstein.w.n@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220624063653.2126416-1-goldstein.w.n@gmail.com> References: <20220624063653.2126416-1-goldstein.w.n@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, 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-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Noah Goldstein via Libc-alpha From: Noah Goldstein Reply-To: Noah Goldstein Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" This is just a quality of life change to make it easier to see how the ISA level will effect a given build. --- sysdeps/x86/isa-level.h | 67 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 65 insertions(+), 2 deletions(-) diff --git a/sysdeps/x86/isa-level.h b/sysdeps/x86/isa-level.h index e1a30ed83e..f14ae5cc00 100644 --- a/sysdeps/x86/isa-level.h +++ b/sysdeps/x86/isa-level.h @@ -64,8 +64,71 @@ #define MINIMUM_X86_ISA_LEVEL \ (__X86_ISA_V1 + __X86_ISA_V2 + __X86_ISA_V3 + __X86_ISA_V4) - -/* +/* ISA levels for known GCC targets as of GCC12.1: + * + * amdfam10 -> 1 + * athlon-fx -> 1 + * athlon64 -> 1 + * athlon64-sse3 -> 1 + * atom -> 1 + * barcelona -> 1 + * bonnell -> 1 + * btver1 -> 1 + * core2 -> 1 + * eden-x2 -> 1 + * eden-x4 -> 1 + * k8 -> 1 + * k8-sse3 -> 1 + * nano -> 1 + * nano-1000 -> 1 + * nano-2000 -> 1 + * nano-3000 -> 1 + * nano-x2 -> 1 + * nano-x4 -> 1 + * nocona -> 1 + * opteron -> 1 + * opteron-sse3 -> 1 + * x86-64 -> 1 + * bdver1 -> 2 + * bdver2 -> 2 + * bdver3 -> 2 + * btver2 -> 2 + * core-avx-i -> 2 + * corei7 -> 2 + * corei7-avx -> 2 + * goldmont -> 2 + * goldmont-plus -> 2 + * ivybridge -> 2 + * nehalem -> 2 + * sandybridge -> 2 + * silvermont -> 2 + * slm -> 2 + * tremont -> 2 + * westmere -> 2 + * x86-64-v2 -> 2 + * alderlake -> 3 + * bdver4 -> 3 + * broadwell -> 3 + * core-avx2 -> 3 + * haswell -> 3 + * knl -> 3 + * knm -> 3 + * skylake -> 3 + * x86-64-v3 -> 3 + * znver1 -> 3 + * znver2 -> 3 + * znver3 -> 3 + * cannonlake -> 4 + * cascadelake -> 4 + * cooperlake -> 4 + * icelake-client -> 4 + * icelake-server -> 4 + * rocketlake -> 4 + * sapphirerapids -> 4 + * skylake-avx512 -> 4 + * tigerlake -> 4 + * x86-64-v4 -> 4 + * * CPU Features that are hard coded as enabled/disabled depending on * ISA build level. * - Values > 0 features are always ENABLED if: From patchwork Fri Jun 24 06:36:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Noah Goldstein X-Patchwork-Id: 1647655 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=B6mV1gky; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4LTnbj0g6gz9sFk for ; Fri, 24 Jun 2022 16:42:09 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 093D6384D185 for ; Fri, 24 Jun 2022 06:42:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 093D6384D185 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1656052927; bh=f+G1k8f5sPkUjH1p5XAKdWB9ZNiGGZDSu1AmJcUUO7Q=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=B6mV1gkyAPFJ1P+m/6ujDy92OVIzfDq0Xm7GHn/xOlXGaqsxFVkrL4MrBfMtXe7wq EntRDxF8SavPWftgIPIJfBqzZP3mSgupn4qoFIWZuE6F3SWVD5p9LGO5oCy8qEbAA1 m1/0cMPrbGjbt8Wla2nRZLNYH5odNWGRjk1rolmg= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com [IPv6:2607:f8b0:4864:20::630]) by sourceware.org (Postfix) with ESMTPS id 4DC80385AE40 for ; Fri, 24 Jun 2022 06:38:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4DC80385AE40 Received: by mail-pl1-x630.google.com with SMTP id jb13so1279829plb.9 for ; Thu, 23 Jun 2022 23:38:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=f+G1k8f5sPkUjH1p5XAKdWB9ZNiGGZDSu1AmJcUUO7Q=; b=mvsJEfF5Lr4iZNkZt8LU7gvm36FkUqf8lCtC+xf9oBe60nSPSaJeDsXYchF8jsywhd kdFgbA5Zl0jK8DN0ipodkmYQuPdrEabvJIUo4BzBbKUlZh2gmMubtkii825gZ1cbTmlz N/6u7h1s9Dg1/qqW8KMRrz40rGgcUL8pEh97e0M5QR++njqZFZdNBjnbQTairg5n2xl4 tYaH/XfsKPGGazIOVASS6IxXBI5LRJGTE0dEIthIOyptTkz4+VLvJsXbnbiEqJMg/g8W SEoAAhanmQl5+U+pmRFUYRiUlJdglGBmEKaYGq55BlttnqQsc9wSElTF0NJjlC2Y+e7p 1M5A== X-Gm-Message-State: AJIora8+SJ+MxtFSfYk3tYyGJH9IsBorzIU5in/niMOwmMooez+3DZX1 yh7EKti4o/jcY+4vnloKPjrbfHingHfWEw== X-Google-Smtp-Source: AGRyM1t8vqSfmjGjEknPt9kSJjIPt/yUY+P3jaKhEf0aESlKZTZuQ/sbgqo2/xV6QOxLkFbF/822yA== X-Received: by 2002:a17:90a:a40b:b0:1ec:a22d:5c3 with SMTP id y11-20020a17090aa40b00b001eca22d05c3mr2255112pjp.118.1656052679148; Thu, 23 Jun 2022 23:37:59 -0700 (PDT) Received: from noah-tgl.. (c-73-231-94-136.hsd1.ca.comcast.net. [73.231.94.136]) by smtp.gmail.com with ESMTPSA id 71-20020a63034a000000b0040d2d9f15e0sm756682pgd.20.2022.06.23.23.37.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jun 2022 23:37:58 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH v1 5/7] x86: Use ARCH_P_NOT to check Prefer_No_VZeroupper in ifunc-evex.h Date: Thu, 23 Jun 2022 23:36:52 -0700 Message-Id: <20220624063653.2126416-5-goldstein.w.n@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220624063653.2126416-1-goldstein.w.n@gmail.com> References: <20220624063653.2126416-1-goldstein.w.n@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, 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-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Noah Goldstein via Libc-alpha From: Noah Goldstein Reply-To: Noah Goldstein Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" We want to Prefer_No_VZEROUPPER feature to always be false (i.e we want to prefer with vzeroupper) when building with ISA level >= 3. --- sysdeps/x86_64/multiarch/ifunc-evex.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sysdeps/x86_64/multiarch/ifunc-evex.h b/sysdeps/x86_64/multiarch/ifunc-evex.h index 856c6261f8..454f3c1eab 100644 --- a/sysdeps/x86_64/multiarch/ifunc-evex.h +++ b/sysdeps/x86_64/multiarch/ifunc-evex.h @@ -51,8 +51,8 @@ IFUNC_SELECTOR (void) if (CPU_FEATURE_USABLE_P (cpu_features, RTM)) return OPTIMIZE (avx2_rtm); - if (X86_ISA_CPU_FEATURES_ARCH_P (cpu_features, - Prefer_No_VZEROUPPER)) + if (X86_ISA_CPU_FEATURES_ARCH_P_NOT (cpu_features, + Prefer_No_VZEROUPPER)) return OPTIMIZE (avx2); } From patchwork Fri Jun 24 06:36:53 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Noah Goldstein X-Patchwork-Id: 1647656 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=JIXm1q7c; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4LTncV4j40z9sFk for ; Fri, 24 Jun 2022 16:42:50 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5323C384F025 for ; Fri, 24 Jun 2022 06:42:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5323C384F025 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1656052968; bh=F8lIBojTDdRHBeEGp/9joBsbDUVz7PV/mWFXFR9F9kE=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=JIXm1q7cfYU0uPnLv+ShqlrDbLd6HEtR2K41xchv/kWRYXxUHnQu/XrYzd3ywZVYj 5/NdBAfsGwJ1enu8BUjQjqrZkP7QquhEiE3DXcF5TUJfdsDJvfxjFhSqr1LX/oVTa3 Tx3t5OAcyknJdIfHCmtNqwyifrhjnfNR8eswNDFU= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pf1-x429.google.com (mail-pf1-x429.google.com [IPv6:2607:f8b0:4864:20::429]) by sourceware.org (Postfix) with ESMTPS id 35FFB3852760 for ; Fri, 24 Jun 2022 06:38:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 35FFB3852760 Received: by mail-pf1-x429.google.com with SMTP id n12so1795122pfq.0 for ; Thu, 23 Jun 2022 23:38:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=F8lIBojTDdRHBeEGp/9joBsbDUVz7PV/mWFXFR9F9kE=; b=wA2wzJD3IgO/P9yx2woZec0Ql2SlO10c9+TTea+kcdxmPrTn2HvrpPuOBZSDj8M+lZ mF6qfFsSlU3Tqfp3iLJ6jf3ZybmRA4ohCTb9Yu4UkkIVhVgTaoJCxKI/1n4AhLHcV+b+ vD6IgT5ZpYfJb8aFJLve7FcbDcbNlYpWhWq04mTy8bIwRmeSZN55PTJrFuKz1rSzUNJn F09dPDPLLD/D/nk64JfqRoFAwUOK48UUE+IIYxv6Pn3ix9vlm5/3+oUiIrxSZSBN6gFr 3JhjHw1HnnIoG8T1UKBpERL89hOyQZdxvtPJiRLHNcJ8bcGRGUe0J8iFKt2uEsqlGzAC SJSQ== X-Gm-Message-State: AJIora8O+DZBwWshDYuvgJKfyfJH8S9ItYt8gR8uNRXXNMrhXejgK04V q+vfGcAociV3KloyjFyMlaiAipK/F0xq4g== X-Google-Smtp-Source: AGRyM1st9cTaSDMNR2ZXtLnqjL+SmXi+mDtqJ/U55pqdBaNP1ayVqMBxiWxbu+XmrYFmUFPsY3pbxw== X-Received: by 2002:a63:441f:0:b0:3fc:8bd2:f828 with SMTP id r31-20020a63441f000000b003fc8bd2f828mr10538365pga.579.1656052679984; Thu, 23 Jun 2022 23:37:59 -0700 (PDT) Received: from noah-tgl.. (c-73-231-94-136.hsd1.ca.comcast.net. [73.231.94.136]) by smtp.gmail.com with ESMTPSA id 71-20020a63034a000000b0040d2d9f15e0sm756682pgd.20.2022.06.23.23.37.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jun 2022 23:37:59 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH v1 6/7] x86: Put wcs{n}len-sse4.1 in the sse4.1 text section Date: Thu, 23 Jun 2022 23:36:53 -0700 Message-Id: <20220624063653.2126416-6-goldstein.w.n@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220624063653.2126416-1-goldstein.w.n@gmail.com> References: <20220624063653.2126416-1-goldstein.w.n@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, 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-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Noah Goldstein via Libc-alpha From: Noah Goldstein Reply-To: Noah Goldstein Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Previously was missing but the two implementations shouldn't get in the sse2 (generic) text section. --- sysdeps/x86_64/multiarch/strlen-vec.S | 6 +++++- sysdeps/x86_64/multiarch/wcslen-sse4_1.S | 1 + sysdeps/x86_64/multiarch/wcsnlen-sse4_1.S | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/sysdeps/x86_64/multiarch/strlen-vec.S b/sysdeps/x86_64/multiarch/strlen-vec.S index 42b6124dfd..874123d604 100644 --- a/sysdeps/x86_64/multiarch/strlen-vec.S +++ b/sysdeps/x86_64/multiarch/strlen-vec.S @@ -28,6 +28,10 @@ # define SHIFT_RETURN #endif +#ifndef SECTION +# define SECTION(p) p +#endif + /* Long lived register in strlen(s), strnlen(s, n) are: %xmm3 - zero @@ -37,7 +41,7 @@ */ -.text + .section SECTION(.text),"ax",@progbits ENTRY(strlen) /* Test 64 bytes from %rax for zero. Save result as bitmask in %rdx. */ diff --git a/sysdeps/x86_64/multiarch/wcslen-sse4_1.S b/sysdeps/x86_64/multiarch/wcslen-sse4_1.S index 7e62621afc..e306a77f51 100644 --- a/sysdeps/x86_64/multiarch/wcslen-sse4_1.S +++ b/sysdeps/x86_64/multiarch/wcslen-sse4_1.S @@ -1,4 +1,5 @@ #define AS_WCSLEN #define strlen __wcslen_sse4_1 +#define SECTION(p) p##.sse4.1 #include "strlen-vec.S" diff --git a/sysdeps/x86_64/multiarch/wcsnlen-sse4_1.S b/sysdeps/x86_64/multiarch/wcsnlen-sse4_1.S index 5fa51fe07c..d2f7dd6e22 100644 --- a/sysdeps/x86_64/multiarch/wcsnlen-sse4_1.S +++ b/sysdeps/x86_64/multiarch/wcsnlen-sse4_1.S @@ -1,5 +1,6 @@ #define AS_WCSLEN #define AS_STRNLEN #define strlen __wcsnlen_sse4_1 +#define SECTION(p) p##.sse4.1 #include "strlen-vec.S" From patchwork Fri Jun 24 06:36:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Noah Goldstein X-Patchwork-Id: 1647657 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=JWap6gYt; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4LTndN2SVxz9sFk for ; Fri, 24 Jun 2022 16:43:36 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id EDE0B3852760 for ; Fri, 24 Jun 2022 06:43:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EDE0B3852760 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1656053014; bh=PcGe5NT3IDOCJxgfItX8xyU0BY/vNf0Un1lJphQdrHs=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=JWap6gYt3lICqPD+OY2DNcGF/2/5bvnDfwC3lUsV20Axs0BtsvZUi/q6Jr7DqVKet mdHr9Mt1gl12Oyzr6LR4PRPbMCvD6dEnw2lJC1+C4ii0GwvYoZGJ0ecnAejYcYkS8/ e3Wf9455ZNRBtEr8I7N+mhRaucJFHGCayUJOVavY= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com [IPv6:2607:f8b0:4864:20::633]) by sourceware.org (Postfix) with ESMTPS id 09AB13853565 for ; Fri, 24 Jun 2022 06:38:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 09AB13853565 Received: by mail-pl1-x633.google.com with SMTP id k7so1290184plg.7 for ; Thu, 23 Jun 2022 23:38:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=PcGe5NT3IDOCJxgfItX8xyU0BY/vNf0Un1lJphQdrHs=; b=U9nAcMDQjoI5nBoSDUJU7+BNqG/3zbz0EOgTsqPNjpXM76MjhD7YlPGe2Gzw+C05+l G1zD6+Rz40Jw9IBM204CUlFlCCUv8x6Fq0li8qtGGr7AtaWtOJwVk8U2EKxN9m68Ke8i jIJvp4fvYl/e/HVeh15UTns04lXnqfPgg1MELPmgEoARMAV2B28bl0MveZUc21XuI/Cw 9TfHyZ80QiWa9VcJ5UjY/NHX2t76a4PAKhTqGYfPyBC32jdTXxt7I+eiWosC/e5Itqd7 Uz5/rDFEzRJD9JGQu0t1jyQDVs2obfRkeYQ5gDx3JC1UjubNB0/dBmb9TWjtIdM6sl0H 1dpg== X-Gm-Message-State: AJIora8jvgjcUdUZ6bdnaIrNptEhlAyuqJjlq5YzF8Nx8xN5D1ZFLaa8 nBMSsWMgLXuV0lYmGoRsm+2BI5mheifL9g== X-Google-Smtp-Source: AGRyM1sAQ/Fz+454YuKGkoH/hni+3zdVHJH8ss4QregCQVv2aR2Yg71Id0csKGlOpzT9YFTRSudI6Q== X-Received: by 2002:a17:90a:be03:b0:1ec:721f:6e34 with SMTP id a3-20020a17090abe0300b001ec721f6e34mr2204426pjs.183.1656052680776; Thu, 23 Jun 2022 23:38:00 -0700 (PDT) Received: from noah-tgl.. (c-73-231-94-136.hsd1.ca.comcast.net. [73.231.94.136]) by smtp.gmail.com with ESMTPSA id 71-20020a63034a000000b0040d2d9f15e0sm756682pgd.20.2022.06.23.23.38.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Jun 2022 23:38:00 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH v1 7/7] x86: Remove unused file wmemcmp-sse4 Date: Thu, 23 Jun 2022 23:36:54 -0700 Message-Id: <20220624063653.2126416-7-goldstein.w.n@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220624063653.2126416-1-goldstein.w.n@gmail.com> References: <20220624063653.2126416-1-goldstein.w.n@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, 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-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Noah Goldstein via Libc-alpha From: Noah Goldstein Reply-To: Noah Goldstein Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" The memcmp-sse4 was removed in: commit 7cbc03d03091d5664060924789afe46d30a5477e Author: Noah Goldstein Date: Fri Apr 15 12:28:00 2022 -0500 x86: Remove memcmp-sse4.S so this file does nothing. --- sysdeps/x86_64/multiarch/wmemcmp-sse4.S | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 sysdeps/x86_64/multiarch/wmemcmp-sse4.S diff --git a/sysdeps/x86_64/multiarch/wmemcmp-sse4.S b/sysdeps/x86_64/multiarch/wmemcmp-sse4.S deleted file mode 100644 index b07973a4f6..0000000000 --- a/sysdeps/x86_64/multiarch/wmemcmp-sse4.S +++ /dev/null @@ -1,4 +0,0 @@ -#define USE_AS_WMEMCMP 1 -#define MEMCMP __wmemcmp_sse4_1 - -#include "memcmp-sse4.S"