From patchwork Wed Apr 5 16:21:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 1765646 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.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=QunownVO; dkim-atps=neutral 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 ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Ps90D6Bjdz1yZT for ; Thu, 6 Apr 2023 02:22:52 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 529B93857736 for ; Wed, 5 Apr 2023 16:22:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 529B93857736 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680711770; bh=pSvyxlQ6eoll0hOkSOzAOf4sI4jpBrUzHx52J+pA72Y=; 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=QunownVOo3J6KG6bi7etkoR3w9YZqGYK/oUamY4lUvHM4NF1+byG0yrUi2ITrtbum iHlgxmJisdzH06+/wxjUY1LjTpDcFmoNGWG5ZfA+QVoIgPJV7N324rvyVEq5CUTOTs F6GuIxBMDeDdT1Awmyv7Wxesr27KRRZw3fQKt+8E= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pj1-x102b.google.com (mail-pj1-x102b.google.com [IPv6:2607:f8b0:4864:20::102b]) by sourceware.org (Postfix) with ESMTPS id 5FB203858C50 for ; Wed, 5 Apr 2023 16:21:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5FB203858C50 Received: by mail-pj1-x102b.google.com with SMTP id r7-20020a17090b050700b002404be7920aso36002566pjz.5 for ; Wed, 05 Apr 2023 09:21:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680711707; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pSvyxlQ6eoll0hOkSOzAOf4sI4jpBrUzHx52J+pA72Y=; b=rzTEV0JpKRRrnUdl/5PPs7Mjo5wjGLgrd9aeHkSKMSspoWd5UskDq83MMyYKMCA4l1 ewzOzvUg7pk2ICqsD1V4Q9x1ZoLH7An3lgpUMF44VlR/W+IsNnNRUCu4/NQc9mL87dFC jVEr1JBvZ3AoqnaaHl4G336RcfaaWt1q22Ldd8iNi8Ir6+lCyPhEgRcHvf+vKvReFI2D WTALM8y5/e5ib7m3opRxAY259PALTf7OzLVQBc/t8ng9llUKn4UU3RZ1pdLeBO3yaARw p6y908AUAxCP1XbBo+bhrdnxiE11z4bEqvuHrKtzseucWV8YpyjPm4kl6J8Pxqc085yG 9LFA== X-Gm-Message-State: AAQBX9c5l+PL5brUv2J2aqFzOGnmOsvtDsGCevQNPRzR/qNt/Ub4lSk9 LA/7mYPRYX/iPa6D6J+2dJ3oKM9J3EQ= X-Google-Smtp-Source: AKy350ZHpERWBlLe3tg4Hr/DzdnMCv+gcC1ffpvVLVShtXsevgKe/dcVtkBbP3/ifZWho76gw3B+zA== X-Received: by 2002:a17:902:f20c:b0:1a2:88c5:d337 with SMTP id m12-20020a170902f20c00b001a288c5d337mr6073428plc.22.1680711707159; Wed, 05 Apr 2023 09:21:47 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.59.161.240]) by smtp.gmail.com with ESMTPSA id a17-20020a170902ee9100b001a24cded097sm10304372pld.236.2023.04.05.09.21.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Apr 2023 09:21:45 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id 72571740096 for ; Wed, 5 Apr 2023 09:21:44 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 01/19] : Rename to x86_cpu_INDEX_7_ECX_15 Date: Wed, 5 Apr 2023 09:21:26 -0700 Message-Id: <20230405162144.984598-2-hjl.tools@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230405162144.984598-1-hjl.tools@gmail.com> References: <20230405162144.984598-1-hjl.tools@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3024.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 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: "H.J. Lu via Libc-alpha" From: "H.J. Lu" Reply-To: "H.J. Lu" Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Rename x86_cpu_INDEX_7_ECX_1 to x86_cpu_INDEX_7_ECX_15 for the unused bit 15 in ECX from CPUID with EAX == 0x7 and ECX == 0. Reviewed-by: Noah Goldstein --- sysdeps/x86/bits/platform/x86.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sysdeps/x86/bits/platform/x86.h b/sysdeps/x86/bits/platform/x86.h index 25a970b185..1ed24d7024 100644 --- a/sysdeps/x86/bits/platform/x86.h +++ b/sysdeps/x86/bits/platform/x86.h @@ -181,7 +181,7 @@ enum x86_cpu_AVX512_BITALG = x86_cpu_index_7_ecx + 12, x86_cpu_INDEX_7_ECX_13 = x86_cpu_index_7_ecx + 13, x86_cpu_AVX512_VPOPCNTDQ = x86_cpu_index_7_ecx + 14, - x86_cpu_INDEX_7_ECX_1 = x86_cpu_index_7_ecx + 15, + x86_cpu_INDEX_7_ECX_15 = x86_cpu_index_7_ecx + 15, x86_cpu_INDEX_7_ECX_16 = x86_cpu_index_7_ecx + 16, /* Note: Bits 17-21: The value of MAWAU used by the BNDLDX and BNDSTX instructions in 64-bit mode. */ From patchwork Wed Apr 5 16:21:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 1765642 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.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=podiTQQ0; dkim-atps=neutral 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 ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Ps8zL60Wgz1yZT for ; Thu, 6 Apr 2023 02:22:06 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 88B61385700C for ; Wed, 5 Apr 2023 16:22:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 88B61385700C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680711724; bh=gvtJDq3kf2eHVXy9UNl7Pu+oqK8099qT9idjEMuE/Vs=; 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=podiTQQ0oYSkOcHlJXD4pYZ8lL2osTlGGcynn4ho7oqOPboKLUKAMF3a9Nu7+jPsn AiYNjjM1MDePd1DUbBNR7NLjfI9SnWGbS7tw9dVnQEqMH/zdaHIm56o04RICAcx5kT egqWIyovnKajf6z0a2712nl61pYAkgrbPEvXhnuE= 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 EB0F63858D32 for ; Wed, 5 Apr 2023 16:21:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EB0F63858D32 Received: by mail-pj1-x102a.google.com with SMTP id d13so34521248pjh.0 for ; Wed, 05 Apr 2023 09:21:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680711707; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gvtJDq3kf2eHVXy9UNl7Pu+oqK8099qT9idjEMuE/Vs=; b=A276Y6/P4sfDRmnr4P3DR4b4UKHwU/omSOIPhMmMkuXjGEEzf9Ouual4cFwea7nLd4 dNtW+p2fsIRjzpxMKmH0Cb3e42nrZRRqsV6O0VuRABpcLLUgjQyr+Csf2KQx1nEmF7dr IOBCpBXillPsABhx8GDa62jvEc+t8oTI+FzJAg/SXknP/VW44sUoDYr1yBALkGvD96ZR 1aWnyzJ98vzWeMyDQisEPvMiLjavN2afy+2ssFKUplMPHUUYv8tMqYiWtN/FJCQJFq1J xsBcUdG/0mgufqgeToNdT2ilRw0i+9jHAg3Eb0jZ3mQqeY3R00Q3P5vNf1xTcFZtrrnX TqLA== X-Gm-Message-State: AAQBX9cOYAYgV2Aa5gdbc4vvC7FhxbixhR7OXhzxNz5LDV0PUAxXe95P cdegckNg0PVVwJY7YLDOOPvKs2a8/Tw= X-Google-Smtp-Source: AKy350Z4/Yfyr6IBuvAe6KEs9YAMM19NRPRhbmIWkyiTsW9jyzWRKkPhXkRMS7iLUS5Mwej4WYZEUw== X-Received: by 2002:a17:90b:4f8f:b0:237:9fbd:31c8 with SMTP id qe15-20020a17090b4f8f00b002379fbd31c8mr7609489pjb.15.1680711706701; Wed, 05 Apr 2023 09:21:46 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.59.161.240]) by smtp.gmail.com with ESMTPSA id a11-20020a634d0b000000b00513cc8c9597sm7746990pgb.10.2023.04.05.09.21.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Apr 2023 09:21:45 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id 7D18C74009F for ; Wed, 5 Apr 2023 09:21:44 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 02/19] platform.texi: Move LAM after LAHF64_SAHF64 Date: Wed, 5 Apr 2023 09:21:27 -0700 Message-Id: <20230405162144.984598-3-hjl.tools@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230405162144.984598-1-hjl.tools@gmail.com> References: <20230405162144.984598-1-hjl.tools@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3025.3 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 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: "H.J. Lu via Libc-alpha" From: "H.J. Lu" Reply-To: "H.J. Lu" Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Move LAM after LAHF64_SAHF64 to sort x86 features. Reviewed-by: Noah Goldstein --- manual/platform.texi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manual/platform.texi b/manual/platform.texi index d5fdc5bd05..c1cef570d2 100644 --- a/manual/platform.texi +++ b/manual/platform.texi @@ -391,15 +391,15 @@ the indirect branch predictor barrier (IBPB). @item @code{KL} -- AES Key Locker instructions. -@item -@code{LAM} -- Linear Address Masking. - @item @code{L1D_FLUSH} -- IA32_FLUSH_CMD MSR. @item @code{LAHF64_SAHF64} -- LAHF/SAHF available in 64-bit mode. +@item +@code{LAM} -- Linear Address Masking. + @item @code{LM} -- Long mode. From patchwork Wed Apr 5 16:21:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 1765644 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.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=YrSoEm20; dkim-atps=neutral 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 ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Ps8zR3h5Xz1yZT for ; Thu, 6 Apr 2023 02:22:11 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D9CFE385694B for ; Wed, 5 Apr 2023 16:22:08 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D9CFE385694B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680711728; bh=rMxfI1lPbk/6imSS3mQh8gQKDZL270E24qOe2Saz+uE=; 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=YrSoEm20PoNZ4i6KsxAX/RYn/EGsf6KxkNG8wPLTgi36JkseRIAlfQpitsIKk3j+K wIE+JJNr6KhToXDYNoouepXFmSE4I0J9GYNJauo1V4MorieROuAwMo86dZLJjpwYiq fOosj+3sDaRKzog5KNfpV/lfQJ5Ri2ncpSL9JazY= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com [IPv6:2607:f8b0:4864:20::634]) by sourceware.org (Postfix) with ESMTPS id 5C0C73858D38 for ; Wed, 5 Apr 2023 16:21:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5C0C73858D38 Received: by mail-pl1-x634.google.com with SMTP id kc4so34878915plb.10 for ; Wed, 05 Apr 2023 09:21:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680711707; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rMxfI1lPbk/6imSS3mQh8gQKDZL270E24qOe2Saz+uE=; b=idzZaaqe9p6iwjMNDZBvtcuh6fRJYm4ZfT3LxtU1vRHDzNk/3E0MraPlwivE5e8x5R gu5ylumRh1hWEVJukFTDGiypAMTpmvRjC1Y7xlDzwGhUZZyz5sCkTkFBE3Z9Ar/6Us6l HFL+a/JFxpupUrDrtQNOTy9DwOS8gNuh8Hyz0rBwgI6G7ZjP8C66b1pp65Q0B1ZHJobw lIIY70I3DIazYQh2UdeiKjn8pKQC3vwHnO8oOBYefWSanGM/z4MsGJINvgJxS37K6+ex uScYWDBR2ceam2UutHEGN6N665Nfh/2NjLHKyj4skzr5BlKQ4FI5fv/j73H++tjSpqJO BOHg== X-Gm-Message-State: AAQBX9fi+lfbJLfbr6+c/tFJnQRqDt7S2YCibKvDf+j2+uxJ3qr5ZYiA 5sqWFIs8BBSzeVCUlLKo5GhRbFK5OZ0= X-Google-Smtp-Source: AKy350bKaUjLT0bZcEKjGz+MBo7N6ez+ndAahU1DC2upzWhDuqbOTqNz8O/Q1TxEuHlg0C7NhuWBKA== X-Received: by 2002:a17:90b:3906:b0:240:75de:12d7 with SMTP id ob6-20020a17090b390600b0024075de12d7mr7057326pjb.13.1680711707009; Wed, 05 Apr 2023 09:21:47 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.59.161.240]) by smtp.gmail.com with ESMTPSA id bx7-20020a17090af48700b002369a14d6b1sm1578176pjb.31.2023.04.05.09.21.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Apr 2023 09:21:45 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id 8879D7400A4 for ; Wed, 5 Apr 2023 09:21:44 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 03/19] : Add LA57 support Date: Wed, 5 Apr 2023 09:21:28 -0700 Message-Id: <20230405162144.984598-4-hjl.tools@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230405162144.984598-1-hjl.tools@gmail.com> References: <20230405162144.984598-1-hjl.tools@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3025.2 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 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: "H.J. Lu via Libc-alpha" From: "H.J. Lu" Reply-To: "H.J. Lu" Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Add 57-bit linear addresses and five-level paging (LA57) support to . Reviewed-by: Noah Goldstein --- manual/platform.texi | 3 +++ sysdeps/x86/bits/platform/x86.h | 2 +- sysdeps/x86/tst-get-cpu-features.c | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/manual/platform.texi b/manual/platform.texi index c1cef570d2..9251b63e47 100644 --- a/manual/platform.texi +++ b/manual/platform.texi @@ -394,6 +394,9 @@ the indirect branch predictor barrier (IBPB). @item @code{L1D_FLUSH} -- IA32_FLUSH_CMD MSR. +@item +@code{LA57} -- 57-bit linear addresses and five-level paging. + @item @code{LAHF64_SAHF64} -- LAHF/SAHF available in 64-bit mode. diff --git a/sysdeps/x86/bits/platform/x86.h b/sysdeps/x86/bits/platform/x86.h index 1ed24d7024..c9189fa248 100644 --- a/sysdeps/x86/bits/platform/x86.h +++ b/sysdeps/x86/bits/platform/x86.h @@ -182,7 +182,7 @@ enum x86_cpu_INDEX_7_ECX_13 = x86_cpu_index_7_ecx + 13, x86_cpu_AVX512_VPOPCNTDQ = x86_cpu_index_7_ecx + 14, x86_cpu_INDEX_7_ECX_15 = x86_cpu_index_7_ecx + 15, - x86_cpu_INDEX_7_ECX_16 = x86_cpu_index_7_ecx + 16, + x86_cpu_LA57 = x86_cpu_index_7_ecx + 16, /* Note: Bits 17-21: The value of MAWAU used by the BNDLDX and BNDSTX instructions in 64-bit mode. */ x86_cpu_RDPID = x86_cpu_index_7_ecx + 22, diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c index 1954698df8..5f5cd3e448 100644 --- a/sysdeps/x86/tst-get-cpu-features.c +++ b/sysdeps/x86/tst-get-cpu-features.c @@ -144,6 +144,7 @@ do_test (void) CHECK_CPU_FEATURE_PRESENT (AVX512_VNNI); CHECK_CPU_FEATURE_PRESENT (AVX512_BITALG); CHECK_CPU_FEATURE_PRESENT (AVX512_VPOPCNTDQ); + CHECK_CPU_FEATURE_PRESENT (LA57); CHECK_CPU_FEATURE_PRESENT (RDPID); CHECK_CPU_FEATURE_PRESENT (KL); CHECK_CPU_FEATURE_PRESENT (CLDEMOTE); From patchwork Wed Apr 5 16:21:29 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 1765645 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.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=rI2SwIyN; dkim-atps=neutral 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 ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Ps8zS2CMtz1yZj for ; Thu, 6 Apr 2023 02:22:12 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2FB5E3858436 for ; Wed, 5 Apr 2023 16:22:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2FB5E3858436 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680711730; bh=8ZFGpQZu5dIl1+cmfiegVfhCDu/EeEit+/7TGDwC+vo=; 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=rI2SwIyNCo/RKzHz/2yfVhBeUUhOnWxvSoKsYu4hClQ3JZdEsv/03g6au1mfuS7pc YtwG/6SlxtveIAquj1EoPme71eD6lZHB5MLlOtOEKghUL0z795ltM3w+KhqwdRlXpF 3FK0m7V/MpzIDu1G8OkgS8bKNVgio2jY1cqaEaTE= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pf1-x434.google.com (mail-pf1-x434.google.com [IPv6:2607:f8b0:4864:20::434]) by sourceware.org (Postfix) with ESMTPS id B8FCE3858C54 for ; Wed, 5 Apr 2023 16:21:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B8FCE3858C54 Received: by mail-pf1-x434.google.com with SMTP id u20so24024732pfk.12 for ; Wed, 05 Apr 2023 09:21:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680711707; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8ZFGpQZu5dIl1+cmfiegVfhCDu/EeEit+/7TGDwC+vo=; b=7aCE3SHYL3qBSMe23E9XmRYM1n+Sw3NN5mGGORSugTx/qtER7ledxvx0zLy0OaTrst Acg3G3nY0RsUswXiZt7SjhJ++Lcwv+5puSpbj53jOtwOH63zYgI/izyabZhIRaOqMHbV uX14z2EGW9Jm1A23bIWh6IYVzDbLXEHc7qRDMZQz18zf7hT9twsY+ioFBy7iv9p86vob ucL0NTwEbuUrGM2BvJZjVeYnlkm/XA8yPp4KbIDpWOA4QJNj2KvlBVFxO9hz4B4maFIA +dsV7gzJx+c7MvEygvgHS1G5A70+W7Z3gy3gH0CB55FN8B7EEmEi3XzJYpgu1cenSV0m Fe+w== X-Gm-Message-State: AAQBX9d4OD3sfGGEshbJ2QUG++1YPlAKfAT0IKE07NzUF+fdIeXq1jtW 8lcRO4KXLV2MGGyDAQBP1/rHIdo1vzY= X-Google-Smtp-Source: AKy350bTHqppSLAQgjmgcJNraPJYayN2BT6x32+4/7DVExiqzl8TzbZMUXALop5aPnW/XMbw7qWFBg== X-Received: by 2002:a62:1b50:0:b0:62a:4fbd:60fe with SMTP id b77-20020a621b50000000b0062a4fbd60femr6241343pfb.12.1680711707417; Wed, 05 Apr 2023 09:21:47 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.59.161.240]) by smtp.gmail.com with ESMTPSA id y12-20020a62b50c000000b0062e10435843sm6587348pfe.217.2023.04.05.09.21.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Apr 2023 09:21:45 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id 937A87400A5 for ; Wed, 5 Apr 2023 09:21:44 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 04/19] : Add BUS_LOCK_DETECT support Date: Wed, 5 Apr 2023 09:21:29 -0700 Message-Id: <20230405162144.984598-5-hjl.tools@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230405162144.984598-1-hjl.tools@gmail.com> References: <20230405162144.984598-1-hjl.tools@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3025.3 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 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: "H.J. Lu via Libc-alpha" From: "H.J. Lu" Reply-To: "H.J. Lu" Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Add Bus lock debug exceptions (BUS_LOCK_DETECT) support to . Reviewed-by: Noah Goldstein --- manual/platform.texi | 3 +++ sysdeps/x86/bits/platform/x86.h | 2 +- sysdeps/x86/tst-get-cpu-features.c | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/manual/platform.texi b/manual/platform.texi index 9251b63e47..78ee39f650 100644 --- a/manual/platform.texi +++ b/manual/platform.texi @@ -276,6 +276,9 @@ extensions. @item @code{BMI2} -- BMI2 instructions. +@item +@code{BUS_LOCK_DETECT} -- Bus lock debug exceptions. + @item @code{CLDEMOTE} -- CLDEMOTE instruction. diff --git a/sysdeps/x86/bits/platform/x86.h b/sysdeps/x86/bits/platform/x86.h index c9189fa248..e25f1ac53c 100644 --- a/sysdeps/x86/bits/platform/x86.h +++ b/sysdeps/x86/bits/platform/x86.h @@ -187,7 +187,7 @@ enum instructions in 64-bit mode. */ x86_cpu_RDPID = x86_cpu_index_7_ecx + 22, x86_cpu_KL = x86_cpu_index_7_ecx + 23, - x86_cpu_INDEX_7_ECX_24 = x86_cpu_index_7_ecx + 24, + x86_cpu_BUS_LOCK_DETECT = x86_cpu_index_7_ecx + 24, x86_cpu_CLDEMOTE = x86_cpu_index_7_ecx + 25, x86_cpu_INDEX_7_ECX_26 = x86_cpu_index_7_ecx + 26, x86_cpu_MOVDIRI = x86_cpu_index_7_ecx + 27, diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c index 5f5cd3e448..dcb735ddd6 100644 --- a/sysdeps/x86/tst-get-cpu-features.c +++ b/sysdeps/x86/tst-get-cpu-features.c @@ -147,6 +147,7 @@ do_test (void) CHECK_CPU_FEATURE_PRESENT (LA57); CHECK_CPU_FEATURE_PRESENT (RDPID); CHECK_CPU_FEATURE_PRESENT (KL); + CHECK_CPU_FEATURE_PRESENT (BUS_LOCK_DETECT); CHECK_CPU_FEATURE_PRESENT (CLDEMOTE); CHECK_CPU_FEATURE_PRESENT (MOVDIRI); CHECK_CPU_FEATURE_PRESENT (MOVDIR64B); From patchwork Wed Apr 5 16:21:30 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 1765651 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.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=SPdt2EQe; dkim-atps=neutral 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 ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Ps9170Rq1z1yZT for ; Thu, 6 Apr 2023 02:23:39 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6A96E38708E6 for ; Wed, 5 Apr 2023 16:23:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6A96E38708E6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680711816; bh=rOjxkykmmYvbA+SsNdFh+c5WtSat7CRE9u50QPCEpuo=; 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=SPdt2EQey442ck08qdtNa1Z2RILBV5P15p/F9rIp3Jjq2yE4BvSvS9Z71IvdW9LGz YOU3Mmpqk7Z6noFxvnnSMwEwMkzDIuAW+YRheOdgD00DI27YLYZkrPD+rJo3KD+MOc Q1nEhk4zARUFy+fPqFbIV68fFtQVE05gwlSLSZPo= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com [IPv6:2607:f8b0:4864:20::1033]) by sourceware.org (Postfix) with ESMTPS id 6D47B3858C60 for ; Wed, 5 Apr 2023 16:21:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6D47B3858C60 Received: by mail-pj1-x1033.google.com with SMTP id lr16-20020a17090b4b9000b0023f187954acso37823962pjb.2 for ; Wed, 05 Apr 2023 09:21:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680711708; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rOjxkykmmYvbA+SsNdFh+c5WtSat7CRE9u50QPCEpuo=; b=tD606ClQz9GU7kbITo5lePb26ElMYIS531hjTHsbPL+UXzyKF/VKGhEnvrUuq1ScTp m7cPvyXE/Bzaldwsdru3hL4ua+2DMbLCm5FjvnqPFDW/IaOc//daSi7lO5KFeJoobGrz CgCBQIjeIPfeBbFzpYqJtvjwspOJXfIyU/maF/wYF7S+Nzphd/0DKlqfw3RN1whDk/yM +wF/BbptqsXq7NwwjuQqYj27kmErIgxJ9XaYR/C5k2564nT37TJBo+v0vl9RjPfw+A2J WiwP5fZsfcQ1erBZfYB+8fHkJFo1NPpAAAYjOYuWnSfgIEfSBkKrqSy8YvFXZgfefvDl 3+1w== X-Gm-Message-State: AAQBX9fvfSSjUVsWeyZNIvADqj7QKK4hTiGqbutQQmrcZah0osFl8jVn iU9T9FYKIvkSi7dAZA6ymUDaVSsuCZo= X-Google-Smtp-Source: AKy350aArvb/feiMYNzw3zXcNzp8Th74Mb0An42tjQeU5Btg5mQLSJE+fxVdA4kZEsXQ/u5D7sDGqg== X-Received: by 2002:a17:903:1d1:b0:19a:f9b5:2f2f with SMTP id e17-20020a17090301d100b0019af9b52f2fmr7425227plh.55.1680711708243; Wed, 05 Apr 2023 09:21:48 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.59.161.240]) by smtp.gmail.com with ESMTPSA id r3-20020a170902be0300b0019abb539cddsm10373990pls.10.2023.04.05.09.21.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Apr 2023 09:21:47 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id 9E11C7400A6 for ; Wed, 5 Apr 2023 09:21:44 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 05/19] : Add SGX-KEYS support Date: Wed, 5 Apr 2023 09:21:30 -0700 Message-Id: <20230405162144.984598-6-hjl.tools@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230405162144.984598-1-hjl.tools@gmail.com> References: <20230405162144.984598-1-hjl.tools@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3025.3 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 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: "H.J. Lu via Libc-alpha" From: "H.J. Lu" Reply-To: "H.J. Lu" Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Add SGX-KEYS support to . Reviewed-by: Noah Goldstein --- manual/platform.texi | 3 +++ sysdeps/x86/bits/platform/x86.h | 2 +- sysdeps/x86/tst-get-cpu-features.c | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/manual/platform.texi b/manual/platform.texi index 78ee39f650..4453f6e1f4 100644 --- a/manual/platform.texi +++ b/manual/platform.texi @@ -551,6 +551,9 @@ capability. @item @code{SGX} -- Intel Software Guard Extensions. +@item +@code{SGX_KEYS} -- Attestation Services for SGX. + @item @code{SGX_LC} -- SGX Launch Configuration. diff --git a/sysdeps/x86/bits/platform/x86.h b/sysdeps/x86/bits/platform/x86.h index e25f1ac53c..ee5be8190f 100644 --- a/sysdeps/x86/bits/platform/x86.h +++ b/sysdeps/x86/bits/platform/x86.h @@ -201,7 +201,7 @@ enum + cpuid_register_index_edx * 8 * sizeof (unsigned int)), x86_cpu_INDEX_7_EDX_0 = x86_cpu_index_7_edx, - x86_cpu_INDEX_7_EDX_1 = x86_cpu_index_7_edx + 1, + x86_cpu_SGX_KEYS = x86_cpu_index_7_edx + 1, x86_cpu_AVX512_4VNNIW = x86_cpu_index_7_edx + 2, x86_cpu_AVX512_4FMAPS = x86_cpu_index_7_edx + 3, x86_cpu_FSRM = x86_cpu_index_7_edx + 4, diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c index dcb735ddd6..1979da2174 100644 --- a/sysdeps/x86/tst-get-cpu-features.c +++ b/sysdeps/x86/tst-get-cpu-features.c @@ -154,6 +154,7 @@ do_test (void) CHECK_CPU_FEATURE_PRESENT (ENQCMD); CHECK_CPU_FEATURE_PRESENT (SGX_LC); CHECK_CPU_FEATURE_PRESENT (PKS); + CHECK_CPU_FEATURE_PRESENT (SGX_KEYS); CHECK_CPU_FEATURE_PRESENT (AVX512_4VNNIW); CHECK_CPU_FEATURE_PRESENT (AVX512_4FMAPS); CHECK_CPU_FEATURE_PRESENT (FSRM); From patchwork Wed Apr 5 16:21:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 1765648 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.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=sHVNLI8J; dkim-atps=neutral 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 ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Ps90J19kDz1yZT for ; Thu, 6 Apr 2023 02:22:56 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1D4AD3855599 for ; Wed, 5 Apr 2023 16:22:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1D4AD3855599 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680711774; bh=tIHiY8L95MI0Q0zAXe9PX3THzFiqq4/Wzzp5zDWRYyw=; 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=sHVNLI8JzI10pnHASRYmMYZHlPDgZ81E7AOiOq4nSqDxwSnBX/iIseyBrygdSwx01 7+BQ0oZ+VmOr8zo6wCBlHmwnq+v8jCc8Q0F8b8R9TO5wJq+SMQIeb4p+vBeKK6YnkM RsmuA0eWzToiJ4IxFLn1o+dwFhS4qf9X1eaetXbI= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com [IPv6:2607:f8b0:4864:20::102d]) by sourceware.org (Postfix) with ESMTPS id 2A4073858C5E for ; Wed, 5 Apr 2023 16:21:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2A4073858C5E Received: by mail-pj1-x102d.google.com with SMTP id e15-20020a17090ac20f00b0023d1b009f52so40030477pjt.2 for ; Wed, 05 Apr 2023 09:21:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680711708; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tIHiY8L95MI0Q0zAXe9PX3THzFiqq4/Wzzp5zDWRYyw=; b=uZuO0YQKKMytSA0xUdIF+Ac3375Fvxudn1bozJcpCZmnV899ozX9vh8bXgx6Z1y2u4 3kURfKAPOCTD9f0CSAzG1lMZoo+RjWf4gkOUCFN4+dbUYXzoX6yQmFkjjJjjr4Zulpzc FDiz55nGhFMQiae4DAkb3Z7srMop6fP0f21ft8+uhCTOP5p+jgAoCqm1baqn5epvlB1r HHSpmLwyL//tKWjROI7+WLMWYCb6zI9ogvzSOMUnThUvtCqQKp/v7fvNHEpN8nFtKlzf +fZGDKlwEDhrwcRla9G6leNstujAr9x6wlpVYnsieuu3ZvIb2BO+gS8xjoRfrajdhQXo q3Kg== X-Gm-Message-State: AAQBX9dRdAI4WYAD2d3yVmEpxDkUs1iPia8FXFdAOAsfwWfKLth1bQEA BwcIxW2xveOnIte2aw08Jby06koBYko= X-Google-Smtp-Source: AKy350Z4auT4hGfPlIaMM9OW5oS/PjY7rUmFdusALkv6mkkAynwRB7mtrdZBG7Yg717um09qdWFjrg== X-Received: by 2002:a17:90b:2250:b0:237:d59d:5f89 with SMTP id hk16-20020a17090b225000b00237d59d5f89mr7441139pjb.4.1680711708010; Wed, 05 Apr 2023 09:21:48 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.59.161.240]) by smtp.gmail.com with ESMTPSA id p11-20020a1709026b8b00b001a22f9087e8sm10332511plk.51.2023.04.05.09.21.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Apr 2023 09:21:47 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id A88C8740120 for ; Wed, 5 Apr 2023 09:21:44 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 06/19] : Add RTM_FORCE_ABORT support Date: Wed, 5 Apr 2023 09:21:31 -0700 Message-Id: <20230405162144.984598-7-hjl.tools@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230405162144.984598-1-hjl.tools@gmail.com> References: <20230405162144.984598-1-hjl.tools@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3025.3 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 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: "H.J. Lu via Libc-alpha" From: "H.J. Lu" Reply-To: "H.J. Lu" Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Add RTM_FORCE_ABORT support to . Reviewed-by: Noah Goldstein --- manual/platform.texi | 3 +++ sysdeps/x86/bits/platform/x86.h | 2 +- sysdeps/x86/tst-get-cpu-features.c | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/manual/platform.texi b/manual/platform.texi index 4453f6e1f4..2ab687cbba 100644 --- a/manual/platform.texi +++ b/manual/platform.texi @@ -539,6 +539,9 @@ capability. @item @code{RTM_ALWAYS_ABORT} -- Transactions always abort, making RTM unusable. +@item +@code{RTM_FORCE_ABORT} -- TSX_FORCE_ABORT MSR. + @item @code{SDBG} -- IA32_DEBUG_INTERFACE MSR for silicon debug. diff --git a/sysdeps/x86/bits/platform/x86.h b/sysdeps/x86/bits/platform/x86.h index ee5be8190f..6d9dd6dacf 100644 --- a/sysdeps/x86/bits/platform/x86.h +++ b/sysdeps/x86/bits/platform/x86.h @@ -213,7 +213,7 @@ enum x86_cpu_MD_CLEAR = x86_cpu_index_7_edx + 10, x86_cpu_RTM_ALWAYS_ABORT = x86_cpu_index_7_edx + 11, x86_cpu_INDEX_7_EDX_12 = x86_cpu_index_7_edx + 12, - x86_cpu_INDEX_7_EDX_13 = x86_cpu_index_7_edx + 13, + x86_cpu_RTM_FORCE_ABORT = x86_cpu_index_7_edx + 13, x86_cpu_SERIALIZE = x86_cpu_index_7_edx + 14, x86_cpu_HYBRID = x86_cpu_index_7_edx + 15, x86_cpu_TSXLDTRK = x86_cpu_index_7_edx + 16, diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c index 1979da2174..8b7e70aee1 100644 --- a/sysdeps/x86/tst-get-cpu-features.c +++ b/sysdeps/x86/tst-get-cpu-features.c @@ -162,6 +162,7 @@ do_test (void) CHECK_CPU_FEATURE_PRESENT (AVX512_VP2INTERSECT); CHECK_CPU_FEATURE_PRESENT (MD_CLEAR); CHECK_CPU_FEATURE_PRESENT (RTM_ALWAYS_ABORT); + CHECK_CPU_FEATURE_PRESENT (RTM_FORCE_ABORT); CHECK_CPU_FEATURE_PRESENT (SERIALIZE); CHECK_CPU_FEATURE_PRESENT (HYBRID); CHECK_CPU_FEATURE_PRESENT (TSXLDTRK); From patchwork Wed Apr 5 16:21:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 1765649 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.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=XVuLQpGQ; dkim-atps=neutral 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 ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Ps90K2Qrdz1yZT for ; Thu, 6 Apr 2023 02:22:57 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B861D3851C36 for ; Wed, 5 Apr 2023 16:22:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B861D3851C36 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680711774; bh=ueB+cVEkFNdLeUsZUlEh/Srt2/hfOmhhdGXjKkNaPrw=; 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=XVuLQpGQ5/U6CkNLmI5KqYhfXVanawZK5tlabXJcTvfHziRONcQtR9w4Y43jkPl8Z JsnmIe0NWIEXa/YJxZbix8wB0WBzYM9A3fusJaKlVsFroqC2lmvPCZqgjIZjTmjUrp mXxhT0VNqpXFx/nRvgWUctTAVS2zQrcqSRIvGGTY= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com [IPv6:2607:f8b0:4864:20::102e]) by sourceware.org (Postfix) with ESMTPS id 68A373858C2D for ; Wed, 5 Apr 2023 16:21:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 68A373858C2D Received: by mail-pj1-x102e.google.com with SMTP id o6-20020a17090a9f8600b0023f32869993so40030256pjp.1 for ; Wed, 05 Apr 2023 09:21:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680711709; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ueB+cVEkFNdLeUsZUlEh/Srt2/hfOmhhdGXjKkNaPrw=; b=Aq0WzWva+9giUZVcaiofErTg20c7doJJh6Xl21denLUMktBoS01p2nXnAi3HAqOepf mOnLdEPqlHfqPgZRRI7LCPJGBaxg2JKrrUSXO19qc+TwvHzJvlUdM5tCZSkb+zYC8lOm qxKO7k8sWyE4itfvMrNfNCkzyHdNxZstX2H+wnndpNi2anIwQ9YdHc2juEjXbTtYXv/k buAzEA27aGrmeAH5wnlUBNVQ1bjy2tdTegxbMcqAM6OlwU8kUWg2Q+QBVwvH6TzQRlGF uz1O/oWoYFzz4/Q2m/+TWhNEYPM4QW/UB6W5B7hRRU/2JxD4V5rNVyyGtlkN3WEtYCMu Kibw== X-Gm-Message-State: AAQBX9e7DO5BDD6JMuyGm2Jc8JvdmPRRYmAt/uhO8MXCLxURuW7lmwCo 9SxUWdEGP2CYekgEG7zdU0tMkglG6vw= X-Google-Smtp-Source: AKy350Ya/ublV69XI4hmT8QHD4CDaRdfNG3xGhj1NN9WN9zXT3rQT9uobYT127g7UmlTWwxhhsKU7A== X-Received: by 2002:a17:902:d2ca:b0:1a1:be45:9857 with SMTP id n10-20020a170902d2ca00b001a1be459857mr7605753plc.1.1680711709162; Wed, 05 Apr 2023 09:21:49 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.59.161.240]) by smtp.gmail.com with ESMTPSA id c20-20020a170902b69400b0019f1027f88bsm10251944pls.307.2023.04.05.09.21.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Apr 2023 09:21:48 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id B359E740122 for ; Wed, 5 Apr 2023 09:21:44 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 07/19] : Add LBR support Date: Wed, 5 Apr 2023 09:21:32 -0700 Message-Id: <20230405162144.984598-8-hjl.tools@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230405162144.984598-1-hjl.tools@gmail.com> References: <20230405162144.984598-1-hjl.tools@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3025.6 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 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: "H.J. Lu via Libc-alpha" From: "H.J. Lu" Reply-To: "H.J. Lu" Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Add architectural LBR support to . Reviewed-by: Noah Goldstein --- manual/platform.texi | 3 +++ sysdeps/x86/bits/platform/x86.h | 2 +- sysdeps/x86/tst-get-cpu-features.c | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/manual/platform.texi b/manual/platform.texi index 2ab687cbba..b72518ebd8 100644 --- a/manual/platform.texi +++ b/manual/platform.texi @@ -406,6 +406,9 @@ the indirect branch predictor barrier (IBPB). @item @code{LAM} -- Linear Address Masking. +@item +@code{LBR} -- Architectural LBR. + @item @code{LM} -- Long mode. diff --git a/sysdeps/x86/bits/platform/x86.h b/sysdeps/x86/bits/platform/x86.h index 6d9dd6dacf..1040c2aed4 100644 --- a/sysdeps/x86/bits/platform/x86.h +++ b/sysdeps/x86/bits/platform/x86.h @@ -219,7 +219,7 @@ enum x86_cpu_TSXLDTRK = x86_cpu_index_7_edx + 16, x86_cpu_INDEX_7_EDX_17 = x86_cpu_index_7_edx + 17, x86_cpu_PCONFIG = x86_cpu_index_7_edx + 18, - x86_cpu_INDEX_7_EDX_19 = x86_cpu_index_7_edx + 19, + x86_cpu_LBR = x86_cpu_index_7_edx + 19, x86_cpu_IBT = x86_cpu_index_7_edx + 20, x86_cpu_INDEX_7_EDX_21 = x86_cpu_index_7_edx + 21, x86_cpu_AMX_BF16 = x86_cpu_index_7_edx + 22, diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c index 8b7e70aee1..cfc8692392 100644 --- a/sysdeps/x86/tst-get-cpu-features.c +++ b/sysdeps/x86/tst-get-cpu-features.c @@ -166,6 +166,7 @@ do_test (void) CHECK_CPU_FEATURE_PRESENT (SERIALIZE); CHECK_CPU_FEATURE_PRESENT (HYBRID); CHECK_CPU_FEATURE_PRESENT (TSXLDTRK); + CHECK_CPU_FEATURE_PRESENT (LBR); CHECK_CPU_FEATURE_PRESENT (PCONFIG); CHECK_CPU_FEATURE_PRESENT (IBT); CHECK_CPU_FEATURE_PRESENT (AMX_BF16); From patchwork Wed Apr 5 16:21:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 1765652 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.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=JU/Ad5pl; dkim-atps=neutral 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 ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Ps9180g1lz1yZT for ; Thu, 6 Apr 2023 02:23:40 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1BE5D3853819 for ; Wed, 5 Apr 2023 16:23:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1BE5D3853819 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680711817; bh=HjfDMilRLOb8PTqJqky1wNQPlLlkMLIxPs1oDygBXoE=; 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=JU/Ad5plSG6lN0xpWP1OwSaOqK5f8pQra+iYSm9ja1jYSO9Z28CjIGfQQ5affWS1T Z7uXQTOZpVlG5eaj8wqkH5iP1KFErvRTITUxNvQRQprL2RxEW0Bh5SpoBCvkzs63G+ hsl8L3nhmHE22lhyA6/LLCqUCg0KJ+KAOV/IoeC8= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pj1-x102c.google.com (mail-pj1-x102c.google.com [IPv6:2607:f8b0:4864:20::102c]) by sourceware.org (Postfix) with ESMTPS id 091323858C2B for ; Wed, 5 Apr 2023 16:21:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 091323858C2B Received: by mail-pj1-x102c.google.com with SMTP id x15so34499835pjk.2 for ; Wed, 05 Apr 2023 09:21:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680711709; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HjfDMilRLOb8PTqJqky1wNQPlLlkMLIxPs1oDygBXoE=; b=mGkwGj3M0x2F9BmWgFWA1NDgskwF/m7LbpeNYrk0TNn1rQqclBh+jRVdJOAaE2vCQX wPDqNabZe+XLsN4J9X6qMBoMgMGxDG+QQtCKFwRTV7bIXeARRa5jFZDbtmyS1sdgj5gH 0SZZP/Zy+vmcs+tYTvvkGjfHB756dtThcjlkRky/dwrscCCUY3N9oZ1T9Jr4/O8vmixk mnvHFLVon1DBN53ftmrHEG08dj1H4TR8izNtuwn8nWr+Hg/kqMxsOTLGV3U+p4FDOnA8 Zi88V/lKox/rgYiPo4HDQORKAzTaXCw3eSq/gIYgi+buPjifUa+SnP1kyOUYDWv9X00m gJ7Q== X-Gm-Message-State: AAQBX9esZwkKb0tuUT/K9q5yo1rTWfR2Rr3kvF4sg4zNAK2EP9j5AaF6 tO2WNb6sNn/cjUCvP8br0S1uSzBuoPg= X-Google-Smtp-Source: AKy350bHc6nGT5GzMGzhxgFdUEgJkyTjiU6NYFuusV7De7RDmeq3PWMNG9ZmoJTP5M/tjqPoh8Tlng== X-Received: by 2002:a17:90b:17c9:b0:23d:16d6:2f05 with SMTP id me9-20020a17090b17c900b0023d16d62f05mr7438335pjb.22.1680711708701; Wed, 05 Apr 2023 09:21:48 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.59.161.240]) by smtp.gmail.com with ESMTPSA id g15-20020a17090a7d0f00b002309279baf8sm1552370pjl.43.2023.04.05.09.21.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Apr 2023 09:21:48 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id BF22D740123 for ; Wed, 5 Apr 2023 09:21:44 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 08/19] : Add RAO-INT support Date: Wed, 5 Apr 2023 09:21:33 -0700 Message-Id: <20230405162144.984598-9-hjl.tools@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230405162144.984598-1-hjl.tools@gmail.com> References: <20230405162144.984598-1-hjl.tools@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3025.4 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 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: "H.J. Lu via Libc-alpha" From: "H.J. Lu" Reply-To: "H.J. Lu" Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Add RAO-INT support to . Reviewed-by: Noah Goldstein --- manual/platform.texi | 3 +++ sysdeps/x86/bits/platform/x86.h | 1 + sysdeps/x86/cpu-features.c | 1 + sysdeps/x86/include/cpu-features.h | 3 +++ sysdeps/x86/tst-get-cpu-features.c | 2 ++ 5 files changed, 10 insertions(+) diff --git a/manual/platform.texi b/manual/platform.texi index b72518ebd8..a6e33b1572 100644 --- a/manual/platform.texi +++ b/manual/platform.texi @@ -516,6 +516,9 @@ extended state management using XSAVE/XRSTOR. @item @code{PTWRITE} -- PTWRITE instruction. +@item +@code{RAO_INT} -- RAO-INT instructions. + @item @code{RDPID} -- RDPID instruction. diff --git a/sysdeps/x86/bits/platform/x86.h b/sysdeps/x86/bits/platform/x86.h index 1040c2aed4..6fc3b69651 100644 --- a/sysdeps/x86/bits/platform/x86.h +++ b/sysdeps/x86/bits/platform/x86.h @@ -288,6 +288,7 @@ enum = (CPUID_INDEX_7_ECX_1 * 8 * 4 * sizeof (unsigned int) + cpuid_register_index_eax * 8 * sizeof (unsigned int)), + x86_cpu_RAO_INT = x86_cpu_index_7_ecx_1_eax + 3, x86_cpu_AVX_VNNI = x86_cpu_index_7_ecx_1_eax + 4, x86_cpu_AVX512_BF16 = x86_cpu_index_7_ecx_1_eax + 5, x86_cpu_FZLRM = x86_cpu_index_7_ecx_1_eax + 10, diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c index 95ad48b501..e591e55a88 100644 --- a/sysdeps/x86/cpu-features.c +++ b/sysdeps/x86/cpu-features.c @@ -99,6 +99,7 @@ update_active (struct cpu_features *cpu_features) CPU_FEATURE_SET_ACTIVE (cpu_features, TBM); CPU_FEATURE_SET_ACTIVE (cpu_features, RDTSCP); CPU_FEATURE_SET_ACTIVE (cpu_features, WBNOINVD); + CPU_FEATURE_SET_ACTIVE (cpu_features, RAO_INT); CPU_FEATURE_SET_ACTIVE (cpu_features, FZLRM); CPU_FEATURE_SET_ACTIVE (cpu_features, FSRS); CPU_FEATURE_SET_ACTIVE (cpu_features, FSRCS); diff --git a/sysdeps/x86/include/cpu-features.h b/sysdeps/x86/include/cpu-features.h index fa91a23129..b946a88ad1 100644 --- a/sysdeps/x86/include/cpu-features.h +++ b/sysdeps/x86/include/cpu-features.h @@ -302,6 +302,7 @@ enum /* CPUID_INDEX_7_ECX_1. */ /* EAX. */ +#define bit_cpu_RAO_INT (1u << 3) #define bit_cpu_AVX_VNNI (1u << 4) #define bit_cpu_AVX512_BF16 (1u << 5) #define bit_cpu_FZLRM (1u << 10) @@ -537,6 +538,7 @@ enum /* CPUID_INDEX_7_ECX_1. */ /* EAX. */ +#define index_cpu_RAO_INT CPUID_INDEX_7_ECX_1 #define index_cpu_AVX_VNNI CPUID_INDEX_7_ECX_1 #define index_cpu_AVX512_BF16 CPUID_INDEX_7_ECX_1 #define index_cpu_FZLRM CPUID_INDEX_7_ECX_1 @@ -772,6 +774,7 @@ enum /* CPUID_INDEX_7_ECX_1. */ /* EAX. */ +#define reg_RAO_INT eax #define reg_AVX_VNNI eax #define reg_AVX512_BF16 eax #define reg_FZLRM eax diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c index cfc8692392..6a3f29db98 100644 --- a/sysdeps/x86/tst-get-cpu-features.c +++ b/sysdeps/x86/tst-get-cpu-features.c @@ -200,6 +200,7 @@ do_test (void) CHECK_CPU_FEATURE_PRESENT (XFD); CHECK_CPU_FEATURE_PRESENT (INVARIANT_TSC); CHECK_CPU_FEATURE_PRESENT (WBNOINVD); + CHECK_CPU_FEATURE_PRESENT (RAO_INT); CHECK_CPU_FEATURE_PRESENT (AVX_VNNI); CHECK_CPU_FEATURE_PRESENT (AVX512_BF16); CHECK_CPU_FEATURE_PRESENT (FZLRM); @@ -365,6 +366,7 @@ do_test (void) CHECK_CPU_FEATURE_ACTIVE (XFD); CHECK_CPU_FEATURE_ACTIVE (INVARIANT_TSC); CHECK_CPU_FEATURE_ACTIVE (WBNOINVD); + CHECK_CPU_FEATURE_ACTIVE (RAO_INT); CHECK_CPU_FEATURE_ACTIVE (AVX_VNNI); CHECK_CPU_FEATURE_ACTIVE (AVX512_BF16); CHECK_CPU_FEATURE_ACTIVE (FZLRM); From patchwork Wed Apr 5 16:21:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 1765655 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.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=lSDziD1R; dkim-atps=neutral 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 ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Ps92057v1z1yZT for ; Thu, 6 Apr 2023 02:24:24 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 9BB6E383D67C for ; Wed, 5 Apr 2023 16:24:22 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9BB6E383D67C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680711862; bh=27sIVUfDAALA3o5/mYWoX2p2Tc1rob4A48vrM0QGxSo=; 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=lSDziD1RYVwn91XYBGF4g/FK1XWLMfknN3ObGWDIs4xdXNtTIJF8lA4tdCgyBbzQl FK3tVNSpjdwPqib+U0Lt8s3Z6hh3/q5P7ZBMfmoA/El4hOlspc3qJre/tBzlP82OYv /Al5Z4cygp6RdbIKL4UaKnE6VvFkOLYxECV0eylo= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com [IPv6:2607:f8b0:4864:20::102d]) by sourceware.org (Postfix) with ESMTPS id 4360D3858C2C for ; Wed, 5 Apr 2023 16:21:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4360D3858C2C Received: by mail-pj1-x102d.google.com with SMTP id x15so34499849pjk.2 for ; Wed, 05 Apr 2023 09:21:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680711709; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=27sIVUfDAALA3o5/mYWoX2p2Tc1rob4A48vrM0QGxSo=; b=mLjm6MmcrWTs3Bbe4Q+mW+XwYid/rYCzlXjaeehq94FvzueIb36fCtvbfVRAydVGfK Ms5r/QNj2SXYgqp4LHazZBlnd2hL5pPaXtqwIWwabMWVaGvAjgAs0c6aiFp84fGrB7pI S7wAbbhNn99+Yqp7GSkPHktTkqg41X75WpEYyZDB/4SKpJBmwudWrRt3MXXUwrRp2WP0 tkffFCtfrviGEw/m3af32UZZgxyiSYzWk8pPF7PdLRVlI2PPkBaSd6/gas0Fx6dpnkTG 3y0JVpla1Q69jbuC/MTnnRcf68XcUD1ny/JHOKBncqM1n+DFcnzjNdhnc+NsOUFBMjQp p1gg== X-Gm-Message-State: AAQBX9f1cdpTsfLmOiDce5/Vben3JqdQA8wHC8U6Pt6P0WPK84vuKGdH EJJxTtXLF5lRVkDfmVnJtgK82vsTWkU= X-Google-Smtp-Source: AKy350bAO17YwJWyfVIKQvqsGJgVfoe2LmxfXrC5PfNnKdsQW/Jv3jk2XT/cOj/yKk/z3qMrA2YBgA== X-Received: by 2002:a17:90a:194c:b0:23d:1b82:7236 with SMTP id 12-20020a17090a194c00b0023d1b827236mr7624499pjh.16.1680711708973; Wed, 05 Apr 2023 09:21:48 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.59.161.240]) by smtp.gmail.com with ESMTPSA id p19-20020a17090a429300b00233d6547000sm1578144pjg.54.2023.04.05.09.21.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Apr 2023 09:21:48 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id CB0F2740126 for ; Wed, 5 Apr 2023 09:21:44 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 09/19] : Add LASS support Date: Wed, 5 Apr 2023 09:21:34 -0700 Message-Id: <20230405162144.984598-10-hjl.tools@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230405162144.984598-1-hjl.tools@gmail.com> References: <20230405162144.984598-1-hjl.tools@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3025.4 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 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: "H.J. Lu via Libc-alpha" From: "H.J. Lu" Reply-To: "H.J. Lu" Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Add Linear Address Space Separation (LASS) support to . Reviewed-by: Noah Goldstein --- manual/platform.texi | 3 +++ sysdeps/x86/bits/platform/x86.h | 1 + sysdeps/x86/tst-get-cpu-features.c | 1 + 3 files changed, 5 insertions(+) diff --git a/manual/platform.texi b/manual/platform.texi index a6e33b1572..be04194c88 100644 --- a/manual/platform.texi +++ b/manual/platform.texi @@ -406,6 +406,9 @@ the indirect branch predictor barrier (IBPB). @item @code{LAM} -- Linear Address Masking. +@item +@code{LASS} -- Linear Address Space Separation. + @item @code{LBR} -- Architectural LBR. diff --git a/sysdeps/x86/bits/platform/x86.h b/sysdeps/x86/bits/platform/x86.h index 6fc3b69651..c9ee8fcf90 100644 --- a/sysdeps/x86/bits/platform/x86.h +++ b/sysdeps/x86/bits/platform/x86.h @@ -291,6 +291,7 @@ enum x86_cpu_RAO_INT = x86_cpu_index_7_ecx_1_eax + 3, x86_cpu_AVX_VNNI = x86_cpu_index_7_ecx_1_eax + 4, x86_cpu_AVX512_BF16 = x86_cpu_index_7_ecx_1_eax + 5, + x86_cpu_LASS = x86_cpu_index_7_ecx_1_eax + 6, x86_cpu_FZLRM = x86_cpu_index_7_ecx_1_eax + 10, x86_cpu_FSRS = x86_cpu_index_7_ecx_1_eax + 11, x86_cpu_FSRCS = x86_cpu_index_7_ecx_1_eax + 12, diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c index 6a3f29db98..9da561a559 100644 --- a/sysdeps/x86/tst-get-cpu-features.c +++ b/sysdeps/x86/tst-get-cpu-features.c @@ -203,6 +203,7 @@ do_test (void) CHECK_CPU_FEATURE_PRESENT (RAO_INT); CHECK_CPU_FEATURE_PRESENT (AVX_VNNI); CHECK_CPU_FEATURE_PRESENT (AVX512_BF16); + CHECK_CPU_FEATURE_PRESENT (LASS); CHECK_CPU_FEATURE_PRESENT (FZLRM); CHECK_CPU_FEATURE_PRESENT (FSRS); CHECK_CPU_FEATURE_PRESENT (FSRCS); From patchwork Wed Apr 5 16:21:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 1765650 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.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=elqXQdnS; dkim-atps=neutral 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 ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Ps9125JTvz1yZT for ; Thu, 6 Apr 2023 02:23:34 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id ABBEB387101A for ; Wed, 5 Apr 2023 16:23:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org ABBEB387101A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680711812; bh=kviQNn+lMGNI8I9kGDpHLE6JvsVdd/l56Ha4ScWjNEw=; 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=elqXQdnSggxYhEtPmq5n3eLPc3nQqAz1t7giv4OgHJTZceY0X4t9CCQEhytYJfj0m xuJZs3wFGLDnHKs9GyoyID9KRh/liLY/rC5UTvVxAcDIpbBCaYlcJ5ELmXjVJeqAOa a5g/Ic5kj6hT7II9oBYavv7g25BTAFlHiGEMo/6E= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com [IPv6:2607:f8b0:4864:20::62a]) by sourceware.org (Postfix) with ESMTPS id 0DC75385843A for ; Wed, 5 Apr 2023 16:21:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0DC75385843A Received: by mail-pl1-x62a.google.com with SMTP id w4so34875174plg.9 for ; Wed, 05 Apr 2023 09:21:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680711711; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kviQNn+lMGNI8I9kGDpHLE6JvsVdd/l56Ha4ScWjNEw=; b=HT8aGdjPIAi36JtHa1ahQuM9golwlZKsSe84z764Ma+TkfXbpew/ovLrzNk9/2q4F5 5w3yVCxxHn4aAnYCsfRzMMsUEKw6Yu/AwIUvfsUYYkW5+KoOWKEAc73MJKIa2OIRLDbU Yj5Iui4xn/jZzomIX1FpfMd+aXqK7/RlR5PKWiG5tg2tWFZvrKLh6S9qVTi9vIQnlEOz 1uZMZ8tr/oDfa+eUqbLyAVv0yWF2hlehsYdEyjDhOjcyl9UGb4SxCCqBN1T7Jq3vZj65 Y6iK5SdRasalXl5gSr3HSPPm/jk7TDAu6s/SVxtnHBT8qZFxT+dAhKHF1MyP5FgqExen L2Hw== X-Gm-Message-State: AAQBX9faGSYEzqOQ+qfwbYfEIlh75iRax/frvrSMY/2O0Ao/SPqa2k5g zS4o6T1zaPYBDn4hklQIeXlfawQUzRU= X-Google-Smtp-Source: AKy350aO4/sgfebIBCKLjV8O7y06l1gdXWKg7mMCgCewv0oT+phuqbSvb0UBoXLXskJJmr8K0Nv/Gg== X-Received: by 2002:a17:903:28cb:b0:1a2:94bb:e104 with SMTP id kv11-20020a17090328cb00b001a294bbe104mr5425318plb.39.1680711710670; Wed, 05 Apr 2023 09:21:50 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.59.161.240]) by smtp.gmail.com with ESMTPSA id b1-20020a170902ed0100b0019ab3308554sm10369395pld.85.2023.04.05.09.21.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Apr 2023 09:21:48 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id D707D740140 for ; Wed, 5 Apr 2023 09:21:44 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 10/19] : Add CMPCCXADD support Date: Wed, 5 Apr 2023 09:21:35 -0700 Message-Id: <20230405162144.984598-11-hjl.tools@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230405162144.984598-1-hjl.tools@gmail.com> References: <20230405162144.984598-1-hjl.tools@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3025.6 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 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: "H.J. Lu via Libc-alpha" From: "H.J. Lu" Reply-To: "H.J. Lu" Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Add CMPCCXADD support to . Reviewed-by: Noah Goldstein --- manual/platform.texi | 3 +++ sysdeps/x86/bits/platform/x86.h | 1 + sysdeps/x86/cpu-features.c | 1 + sysdeps/x86/include/cpu-features.h | 3 +++ sysdeps/x86/tst-get-cpu-features.c | 2 ++ 5 files changed, 10 insertions(+) diff --git a/manual/platform.texi b/manual/platform.texi index be04194c88..e4d2c00886 100644 --- a/manual/platform.texi +++ b/manual/platform.texi @@ -294,6 +294,9 @@ extensions. @item @code{CMOV} -- Conditional Move instructions. +@item +@code{CMPCCXADD} -- CMPccXADD instruction. + @item @code{CMPXCHG16B} -- CMPXCHG16B instruction. diff --git a/sysdeps/x86/bits/platform/x86.h b/sysdeps/x86/bits/platform/x86.h index c9ee8fcf90..0187964aba 100644 --- a/sysdeps/x86/bits/platform/x86.h +++ b/sysdeps/x86/bits/platform/x86.h @@ -292,6 +292,7 @@ enum x86_cpu_AVX_VNNI = x86_cpu_index_7_ecx_1_eax + 4, x86_cpu_AVX512_BF16 = x86_cpu_index_7_ecx_1_eax + 5, x86_cpu_LASS = x86_cpu_index_7_ecx_1_eax + 6, + x86_cpu_CMPCCXADD = x86_cpu_index_7_ecx_1_eax + 7, x86_cpu_FZLRM = x86_cpu_index_7_ecx_1_eax + 10, x86_cpu_FSRS = x86_cpu_index_7_ecx_1_eax + 11, x86_cpu_FSRCS = x86_cpu_index_7_ecx_1_eax + 12, diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c index e591e55a88..da04ad0b00 100644 --- a/sysdeps/x86/cpu-features.c +++ b/sysdeps/x86/cpu-features.c @@ -100,6 +100,7 @@ update_active (struct cpu_features *cpu_features) CPU_FEATURE_SET_ACTIVE (cpu_features, RDTSCP); CPU_FEATURE_SET_ACTIVE (cpu_features, WBNOINVD); CPU_FEATURE_SET_ACTIVE (cpu_features, RAO_INT); + CPU_FEATURE_SET_ACTIVE (cpu_features, CMPCCXADD); CPU_FEATURE_SET_ACTIVE (cpu_features, FZLRM); CPU_FEATURE_SET_ACTIVE (cpu_features, FSRS); CPU_FEATURE_SET_ACTIVE (cpu_features, FSRCS); diff --git a/sysdeps/x86/include/cpu-features.h b/sysdeps/x86/include/cpu-features.h index b946a88ad1..4e40fe0482 100644 --- a/sysdeps/x86/include/cpu-features.h +++ b/sysdeps/x86/include/cpu-features.h @@ -305,6 +305,7 @@ enum #define bit_cpu_RAO_INT (1u << 3) #define bit_cpu_AVX_VNNI (1u << 4) #define bit_cpu_AVX512_BF16 (1u << 5) +#define bit_cpu_CMPCCXADD (1u << 7) #define bit_cpu_FZLRM (1u << 10) #define bit_cpu_FSRS (1u << 11) #define bit_cpu_FSRCS (1u << 12) @@ -541,6 +542,7 @@ enum #define index_cpu_RAO_INT CPUID_INDEX_7_ECX_1 #define index_cpu_AVX_VNNI CPUID_INDEX_7_ECX_1 #define index_cpu_AVX512_BF16 CPUID_INDEX_7_ECX_1 +#define index_cpu_CMPCCXADD CPUID_INDEX_7_ECX_1 #define index_cpu_FZLRM CPUID_INDEX_7_ECX_1 #define index_cpu_FSRS CPUID_INDEX_7_ECX_1 #define index_cpu_FSRCS CPUID_INDEX_7_ECX_1 @@ -777,6 +779,7 @@ enum #define reg_RAO_INT eax #define reg_AVX_VNNI eax #define reg_AVX512_BF16 eax +#define reg_CMPCCXADD eax #define reg_FZLRM eax #define reg_FSRS eax #define reg_FSRCS eax diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c index 9da561a559..d8bc92560f 100644 --- a/sysdeps/x86/tst-get-cpu-features.c +++ b/sysdeps/x86/tst-get-cpu-features.c @@ -204,6 +204,7 @@ do_test (void) CHECK_CPU_FEATURE_PRESENT (AVX_VNNI); CHECK_CPU_FEATURE_PRESENT (AVX512_BF16); CHECK_CPU_FEATURE_PRESENT (LASS); + CHECK_CPU_FEATURE_PRESENT (CMPCCXADD); CHECK_CPU_FEATURE_PRESENT (FZLRM); CHECK_CPU_FEATURE_PRESENT (FSRS); CHECK_CPU_FEATURE_PRESENT (FSRCS); @@ -370,6 +371,7 @@ do_test (void) CHECK_CPU_FEATURE_ACTIVE (RAO_INT); CHECK_CPU_FEATURE_ACTIVE (AVX_VNNI); CHECK_CPU_FEATURE_ACTIVE (AVX512_BF16); + CHECK_CPU_FEATURE_ACTIVE (CMPCCXADD); CHECK_CPU_FEATURE_ACTIVE (FZLRM); CHECK_CPU_FEATURE_ACTIVE (FSRS); CHECK_CPU_FEATURE_ACTIVE (FSRCS); From patchwork Wed Apr 5 16:21:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 1765654 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.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=Y4VEHOAi; dkim-atps=neutral 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 ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Ps91z10TNz1yZT for ; Thu, 6 Apr 2023 02:24:23 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 18265384F18E for ; Wed, 5 Apr 2023 16:24:21 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 18265384F18E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680711861; bh=t/P0FINHzL1PdMEePqmXVrev/gy+15LNgqHGXEsgDtE=; 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=Y4VEHOAiO1UyVssOCn+5i2uIsppOn1yOC9K+6AoZBBKF+OLRONTKsndsliy/rCm73 fUYgU7jmCPUzNFi/tKcOAmxvwkQi8OuwZGIeQKrH0JTt677F/07KPR08LhxiYbZoP0 q4rcnGX7baBSAfSBuglx6B17zDCTUBuJAxHqubSg= 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 592F23857702 for ; Wed, 5 Apr 2023 16:21:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 592F23857702 Received: by mail-pl1-x630.google.com with SMTP id o11so34922755ple.1 for ; Wed, 05 Apr 2023 09:21:52 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680711711; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=t/P0FINHzL1PdMEePqmXVrev/gy+15LNgqHGXEsgDtE=; b=t17KKCchYehTH0nVblKPLDQ1ybWkwBG+iqEzIos0hxgYQNr/XtM1BTFqSHPHBQaqSx 47A27pTz6ZyOTA6pswxR7HZCa9QR2QqawjJlf3q2yVsU1FWS0vJFy2Cg372MMKtwLPbV 2vbRUJe+I+60d5vEb39phTvaBNjiTTVIfMMrngrlYPzvpPwonDWzqYAmKk2nGo8JT0rr gxCHcekzPBL7Ka0WgH5DAhlP3yAu5lA6+jvYezh7rwm3s4b3cNZJ7YtMDeE2naiin9NJ uMwCjnxJqVHFQxN8yeC7KcCqOSVl7HKsHRAqv0xToQo52zwwjOIaqrd8LO5Gtbm/Sf4J 04IA== X-Gm-Message-State: AAQBX9dOvC81BLgs5MXoWN0ICnIHgWnf4xIEoNxowU1SC3jORf5MKb4+ HOJ8ffQhTLB0MikUC+fvS0s/k0zddcY= X-Google-Smtp-Source: AKy350Zige2Wv+t4MkfqsxXrZDFeBeF7LFy0NfZRWmYd0GaE7vM2uJoGAiivRS/TuKJoJfRoEQYi8w== X-Received: by 2002:a17:90b:4d90:b0:23d:3c7b:8684 with SMTP id oj16-20020a17090b4d9000b0023d3c7b8684mr7470203pjb.41.1680711710832; Wed, 05 Apr 2023 09:21:50 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.59.161.240]) by smtp.gmail.com with ESMTPSA id lx7-20020a17090b4b0700b00240404fe949sm1582063pjb.40.2023.04.05.09.21.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Apr 2023 09:21:48 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id E3456740143 for ; Wed, 5 Apr 2023 09:21:44 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 11/19] : Add ArchPerfmonExt support Date: Wed, 5 Apr 2023 09:21:36 -0700 Message-Id: <20230405162144.984598-12-hjl.tools@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230405162144.984598-1-hjl.tools@gmail.com> References: <20230405162144.984598-1-hjl.tools@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3025.6 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 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: "H.J. Lu via Libc-alpha" From: "H.J. Lu" Reply-To: "H.J. Lu" Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Add Architectural Performance Monitoring Extended Leaf (EAX = 23H) support to . Reviewed-by: Noah Goldstein --- manual/platform.texi | 4 ++++ sysdeps/x86/bits/platform/x86.h | 1 + sysdeps/x86/tst-get-cpu-features.c | 1 + 3 files changed, 6 insertions(+) diff --git a/manual/platform.texi b/manual/platform.texi index e4d2c00886..ecee3a7b39 100644 --- a/manual/platform.texi +++ b/manual/platform.texi @@ -206,6 +206,10 @@ The supported processor features are: @item @code{ARCH_CAPABILITIES} -- IA32_ARCH_CAPABILITIES MSR. +@item +@code{ArchPerfmonExt} -- Architectural Performance Monitoring Extended +Leaf (EAX = 23H). + @item @code{AVX} -- The AVX instruction extensions. diff --git a/sysdeps/x86/bits/platform/x86.h b/sysdeps/x86/bits/platform/x86.h index 0187964aba..74b7f951e1 100644 --- a/sysdeps/x86/bits/platform/x86.h +++ b/sysdeps/x86/bits/platform/x86.h @@ -293,6 +293,7 @@ enum x86_cpu_AVX512_BF16 = x86_cpu_index_7_ecx_1_eax + 5, x86_cpu_LASS = x86_cpu_index_7_ecx_1_eax + 6, x86_cpu_CMPCCXADD = x86_cpu_index_7_ecx_1_eax + 7, + x86_cpu_ArchPerfmonExt = x86_cpu_index_7_ecx_1_eax + 8, x86_cpu_FZLRM = x86_cpu_index_7_ecx_1_eax + 10, x86_cpu_FSRS = x86_cpu_index_7_ecx_1_eax + 11, x86_cpu_FSRCS = x86_cpu_index_7_ecx_1_eax + 12, diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c index d8bc92560f..329d4aafb4 100644 --- a/sysdeps/x86/tst-get-cpu-features.c +++ b/sysdeps/x86/tst-get-cpu-features.c @@ -205,6 +205,7 @@ do_test (void) CHECK_CPU_FEATURE_PRESENT (AVX512_BF16); CHECK_CPU_FEATURE_PRESENT (LASS); CHECK_CPU_FEATURE_PRESENT (CMPCCXADD); + CHECK_CPU_FEATURE_PRESENT (ArchPerfmonExt); CHECK_CPU_FEATURE_PRESENT (FZLRM); CHECK_CPU_FEATURE_PRESENT (FSRS); CHECK_CPU_FEATURE_PRESENT (FSRCS); From patchwork Wed Apr 5 16:21:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 1765647 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.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=O8SjUh22; dkim-atps=neutral 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 ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Ps90F57vcz1yZT for ; Thu, 6 Apr 2023 02:22:53 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id C186F385381C for ; Wed, 5 Apr 2023 16:22:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C186F385381C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680711769; bh=TRi2yqt1bv5DpczpCcSaFhw22ZXHFScWLKAzbE2G+lA=; 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=O8SjUh22YJzzOh3VU75THNqyueZagfCJGqEJvjagjvp7v1WurQ+vKFgkDmREMEuLK w1jYuWVUUVrI5CCFM4ki2E7Z5kEaMdV9tFv4eBRhpMlbu6PBuzISdKTIt/yEViGub2 QNqepd0e0u04+Cy54r3+ZByhvAlLekVHr+7mRmbA= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com [IPv6:2607:f8b0:4864:20::1030]) by sourceware.org (Postfix) with ESMTPS id BA7653858436 for ; Wed, 5 Apr 2023 16:21:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BA7653858436 Received: by mail-pj1-x1030.google.com with SMTP id x15so34499932pjk.2 for ; Wed, 05 Apr 2023 09:21:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680711710; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TRi2yqt1bv5DpczpCcSaFhw22ZXHFScWLKAzbE2G+lA=; b=g7/ZT1vsunjsDy0E87K8v9Gj4T8DZ63hQE33/mCVChTzKLutztKMIZe0GQmtlVUg89 9IyGg+RZsRKjX+PtCq7oXPGSksgMBmUwJrL7nbHyTK0prGiPVfyW8NAzJq4KYk5t0Jpw mxTCBdwF8oXsQHVEeOUkXb+R0NleCPVaLP196Qlv6fMk640U8UsUnT/9pzb9dCEPRijk wsFwhRuK/bS5PgDKopWXzx0Yd0R/ZjenkUgDqA+AP0uq0pyq0gZvmusnqSkf7IDBoUID xgQ3ZZzQuEtUSEuUxktpoboJ3xWBkXKCNrudrmn4m1hTF5AOUUV3tlYa+etSX73q6U+t 4UiQ== X-Gm-Message-State: AAQBX9dBBheTmq9xObTCID0rJdIn0fmt76oe0zzJlZ/uLjKt9tFJPx9B KvRHTBOOjAN/OI7RThFnA+TYKtEjQXo= X-Google-Smtp-Source: AKy350Yncm5lyxKaGFxyb4L2dqYGGuPQxE8t4kvR95S0X/NYByijiYNNZeTXt7N5mJ2JwmpPB3Bo4Q== X-Received: by 2002:a17:903:22c1:b0:1a0:42c0:b2a5 with SMTP id y1-20020a17090322c100b001a042c0b2a5mr7948287plg.24.1680711710453; Wed, 05 Apr 2023 09:21:50 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.59.161.240]) by smtp.gmail.com with ESMTPSA id g15-20020a170902868f00b0019b0afc24e8sm10305179plo.250.2023.04.05.09.21.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Apr 2023 09:21:48 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id EF4F4740144 for ; Wed, 5 Apr 2023 09:21:44 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 12/19] : Add WRMSRNS support Date: Wed, 5 Apr 2023 09:21:37 -0700 Message-Id: <20230405162144.984598-13-hjl.tools@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230405162144.984598-1-hjl.tools@gmail.com> References: <20230405162144.984598-1-hjl.tools@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3025.6 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 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: "H.J. Lu via Libc-alpha" From: "H.J. Lu" Reply-To: "H.J. Lu" Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Add WRMSRNS support to . Reviewed-by: Noah Goldstein --- manual/platform.texi | 3 +++ sysdeps/x86/bits/platform/x86.h | 1 + sysdeps/x86/tst-get-cpu-features.c | 1 + 3 files changed, 5 insertions(+) diff --git a/manual/platform.texi b/manual/platform.texi index ecee3a7b39..af79f5eb4d 100644 --- a/manual/platform.texi +++ b/manual/platform.texi @@ -679,6 +679,9 @@ using a TSC deadline value. @item @code{WIDE_KL} -- AES wide Key Locker instructions. +@item +@code{WRMSRNS} -- WRMSRNS instruction. + @item @code{X2APIC} -- x2APIC. diff --git a/sysdeps/x86/bits/platform/x86.h b/sysdeps/x86/bits/platform/x86.h index 74b7f951e1..2a15ad937a 100644 --- a/sysdeps/x86/bits/platform/x86.h +++ b/sysdeps/x86/bits/platform/x86.h @@ -297,6 +297,7 @@ enum x86_cpu_FZLRM = x86_cpu_index_7_ecx_1_eax + 10, x86_cpu_FSRS = x86_cpu_index_7_ecx_1_eax + 11, x86_cpu_FSRCS = x86_cpu_index_7_ecx_1_eax + 12, + x86_cpu_WRMSRNS = x86_cpu_index_7_ecx_1_eax + 19, x86_cpu_HRESET = x86_cpu_index_7_ecx_1_eax + 22, x86_cpu_LAM = x86_cpu_index_7_ecx_1_eax + 26, diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c index 329d4aafb4..9c436eaa64 100644 --- a/sysdeps/x86/tst-get-cpu-features.c +++ b/sysdeps/x86/tst-get-cpu-features.c @@ -209,6 +209,7 @@ do_test (void) CHECK_CPU_FEATURE_PRESENT (FZLRM); CHECK_CPU_FEATURE_PRESENT (FSRS); CHECK_CPU_FEATURE_PRESENT (FSRCS); + CHECK_CPU_FEATURE_PRESENT (WRMSRNS); CHECK_CPU_FEATURE_PRESENT (HRESET); CHECK_CPU_FEATURE_PRESENT (LAM); CHECK_CPU_FEATURE_PRESENT (AESKLE); From patchwork Wed Apr 5 16:21:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 1765660 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.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=qkAiRAAw; dkim-atps=neutral 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 ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Ps93b437Rz1yY8 for ; Thu, 6 Apr 2023 02:25:47 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 770883857701 for ; Wed, 5 Apr 2023 16:25:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 770883857701 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680711945; bh=mhPpohPFRZ02Rh3pcEJ+wtYaHkSimD2UPxcUdwlz84Y=; 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=qkAiRAAw8Mj/0nQuCsOGXhHHGM+RcKOZIwfe7kCYjoWJSr53xy/dr2165LKlPovRR zFJKaZZ5PPN7oAk8UmRcwK71YlUVwU06Ty9nMVvkjj8LY02qQL+zygi0GAnJFKdXuy vyjZE+Xubu7qgZbVP9MrjQ6l6fXsuZp05xTVQdAg= 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 F122C3857705 for ; Wed, 5 Apr 2023 16:21:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org F122C3857705 Received: by mail-pj1-x102a.google.com with SMTP id p3-20020a17090a74c300b0023f69bc7a68so37806251pjl.4 for ; Wed, 05 Apr 2023 09:21:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680711712; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mhPpohPFRZ02Rh3pcEJ+wtYaHkSimD2UPxcUdwlz84Y=; b=HqLQFrygPkH8Tl4DScBwV0pNNDraRbyQpXeDohxaPcmMHwB2MT5ZbGshftwQ217FeU epwGnHJQVT9R1g+kz7RQTI7NxX/wvKkQ0kcs7aoULFGt9BA44KLJM6d47VRPJfPvyHuT eFF9KYP/FbTFzN3K0I/7qd4S1X3avRxfomo0uJVG+1a/F07gmQ07IUaVdnblw/qqWwLk S8tduRV3b9mHqwf91slfrMvoXsaQW6JKnBD3gfAW7wzStC7XAnhfVyWd4kVguSAdFzw/ 8WVNJ9vvoT2XJ9QMHf6NRSJzlVdJg4BzI+JD/2XTt3fGy7aI8O/09g1FOl6q3dTuMpL2 zxcA== X-Gm-Message-State: AAQBX9cfyMFVjiQAhuKmkI7+9it7FSCxOEdUCcsngX44QYRidctAmqEH c3Cp/xNybNVlmgK2SZcx9+m4xJP6vf4= X-Google-Smtp-Source: AKy350aRD6pIBwVygEdhx/kcE9qmTpYTgBxdsvv/hawG6KAGTfSayuRJ31cD/ATE7WcW+gyR+1ENNg== X-Received: by 2002:a17:903:2288:b0:19e:bfec:7928 with SMTP id b8-20020a170903228800b0019ebfec7928mr8452081plh.24.1680711711639; Wed, 05 Apr 2023 09:21:51 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.59.161.240]) by smtp.gmail.com with ESMTPSA id jm18-20020a17090304d200b001a0428bd8c4sm10257011plb.289.2023.04.05.09.21.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Apr 2023 09:21:50 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id 070D1740146 for ; Wed, 5 Apr 2023 09:21:45 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 13/19] : Add AMX-FP16 support Date: Wed, 5 Apr 2023 09:21:38 -0700 Message-Id: <20230405162144.984598-14-hjl.tools@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230405162144.984598-1-hjl.tools@gmail.com> References: <20230405162144.984598-1-hjl.tools@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3025.5 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 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: "H.J. Lu via Libc-alpha" From: "H.J. Lu" Reply-To: "H.J. Lu" Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Add AMX-FP16 support to . Reviewed-by: Noah Goldstein --- manual/platform.texi | 3 +++ sysdeps/x86/bits/platform/x86.h | 1 + sysdeps/x86/cpu-features.c | 2 ++ sysdeps/x86/include/cpu-features.h | 3 +++ sysdeps/x86/tst-get-cpu-features.c | 2 ++ 5 files changed, 11 insertions(+) diff --git a/manual/platform.texi b/manual/platform.texi index af79f5eb4d..7d4aa3d339 100644 --- a/manual/platform.texi +++ b/manual/platform.texi @@ -200,6 +200,9 @@ The supported processor features are: @item @code{AMX_INT8} -- Tile computational operations on 8-bit numbers. +@item +@code{AMX_FP16} -- Tile computational operations on FP16 numbers. + @item @code{AMX_TILE} -- Tile architecture. diff --git a/sysdeps/x86/bits/platform/x86.h b/sysdeps/x86/bits/platform/x86.h index 2a15ad937a..2776c69b16 100644 --- a/sysdeps/x86/bits/platform/x86.h +++ b/sysdeps/x86/bits/platform/x86.h @@ -298,6 +298,7 @@ enum x86_cpu_FSRS = x86_cpu_index_7_ecx_1_eax + 11, x86_cpu_FSRCS = x86_cpu_index_7_ecx_1_eax + 12, x86_cpu_WRMSRNS = x86_cpu_index_7_ecx_1_eax + 19, + x86_cpu_AMX_FP16 = x86_cpu_index_7_ecx_1_eax + 21, x86_cpu_HRESET = x86_cpu_index_7_ecx_1_eax + 22, x86_cpu_LAM = x86_cpu_index_7_ecx_1_eax + 26, diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c index da04ad0b00..6c1b5efc5f 100644 --- a/sysdeps/x86/cpu-features.c +++ b/sysdeps/x86/cpu-features.c @@ -213,6 +213,8 @@ update_active (struct cpu_features *cpu_features) CPU_FEATURE_SET_ACTIVE (cpu_features, AMX_TILE); /* Determine if AMX_INT8 is usable. */ CPU_FEATURE_SET_ACTIVE (cpu_features, AMX_INT8); + /* Determine if AMX_FP16 is usable. */ + CPU_FEATURE_SET_ACTIVE (cpu_features, AMX_FP16); } /* These features are usable only when OSXSAVE is enabled. */ diff --git a/sysdeps/x86/include/cpu-features.h b/sysdeps/x86/include/cpu-features.h index 4e40fe0482..07c841c1d4 100644 --- a/sysdeps/x86/include/cpu-features.h +++ b/sysdeps/x86/include/cpu-features.h @@ -309,6 +309,7 @@ enum #define bit_cpu_FZLRM (1u << 10) #define bit_cpu_FSRS (1u << 11) #define bit_cpu_FSRCS (1u << 12) +#define bit_cpu_AMX_FP16 (1u << 21) #define bit_cpu_HRESET (1u << 22) #define bit_cpu_LAM (1u << 26) @@ -546,6 +547,7 @@ enum #define index_cpu_FZLRM CPUID_INDEX_7_ECX_1 #define index_cpu_FSRS CPUID_INDEX_7_ECX_1 #define index_cpu_FSRCS CPUID_INDEX_7_ECX_1 +#define index_cpu_AMX_FP16 CPUID_INDEX_7_ECX_1 #define index_cpu_HRESET CPUID_INDEX_7_ECX_1 #define index_cpu_LAM CPUID_INDEX_7_ECX_1 @@ -783,6 +785,7 @@ enum #define reg_FZLRM eax #define reg_FSRS eax #define reg_FSRCS eax +#define reg_AMX_FP16 eax #define reg_HRESET eax #define reg_LAM eax diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c index 9c436eaa64..c0f222cb77 100644 --- a/sysdeps/x86/tst-get-cpu-features.c +++ b/sysdeps/x86/tst-get-cpu-features.c @@ -210,6 +210,7 @@ do_test (void) CHECK_CPU_FEATURE_PRESENT (FSRS); CHECK_CPU_FEATURE_PRESENT (FSRCS); CHECK_CPU_FEATURE_PRESENT (WRMSRNS); + CHECK_CPU_FEATURE_PRESENT (AMX_FP16); CHECK_CPU_FEATURE_PRESENT (HRESET); CHECK_CPU_FEATURE_PRESENT (LAM); CHECK_CPU_FEATURE_PRESENT (AESKLE); @@ -377,6 +378,7 @@ do_test (void) CHECK_CPU_FEATURE_ACTIVE (FZLRM); CHECK_CPU_FEATURE_ACTIVE (FSRS); CHECK_CPU_FEATURE_ACTIVE (FSRCS); + CHECK_CPU_FEATURE_ACTIVE (AMX_FP16); CHECK_CPU_FEATURE_ACTIVE (AESKLE); CHECK_CPU_FEATURE_ACTIVE (WIDE_KL); CHECK_CPU_FEATURE_ACTIVE (PTWRITE); From patchwork Wed Apr 5 16:21:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 1765657 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.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=MyQiUuKu; dkim-atps=neutral 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 ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Ps92n1c9cz1yZh for ; Thu, 6 Apr 2023 02:25:05 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 257E3384F01B for ; Wed, 5 Apr 2023 16:25:03 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 257E3384F01B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680711903; bh=y9o+x8DfwBYDqwN1RLRQhTuhBoZD67UUpW3arcmh24U=; 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=MyQiUuKuHhccRNmzHbvmRRv07Yfksa9V9ajSqBAcxaoDCoKg+7Klm6qJ63315C7bQ o5tG7xxfuvgkTfXZCLqAG9uxe3NeO4x/UfA43PJ4jQWyaxMKVZfywH4r3HRqR7hr8R Z2M6o9CN46t2Hf7CIQlRuySYisTDWJJ8Ne0/DZD0= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com [IPv6:2607:f8b0:4864:20::102d]) by sourceware.org (Postfix) with ESMTPS id B15F93857717 for ; Wed, 5 Apr 2023 16:21:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B15F93857717 Received: by mail-pj1-x102d.google.com with SMTP id e15-20020a17090ac20f00b0023d1b009f52so40030772pjt.2 for ; Wed, 05 Apr 2023 09:21:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680711712; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=y9o+x8DfwBYDqwN1RLRQhTuhBoZD67UUpW3arcmh24U=; b=iE0rRNRJjXUbEQK8F2LS1MHr0mqkxXwhWaYP4c10MkgRFjCR4Rp+FNYH8ykLmlXJTV JPTdE9eXduHOmnPZ1jiZ1lXZf7pMU4l2u3ctzVNudpKi2WA3clD6/BC1ifCAZqijAzbU HsFsm1C/mKKYpEPoOlp/+UdduEo3xqoCN7Pjs3IM5cZQhp9sMlndED1dtO3xipq8rkpF 57jI+WriJ60KPgkCI/2wfIV0GGgxgy1pwWUslX9+MhYppfRJWdzuhb5PQXXkXkpcl+rB vt/Qr5sna3hJy/h4iLPTbgW2P6OYWDXxPjJXs0dwWJW8dg3AdlbViZKdaFoseMC5hn/s NPEQ== X-Gm-Message-State: AAQBX9cmDpyE9lZye/lKPk3o1ZbOW7ffFAqCbEYOxi8+EzMyg2AHZyiF A6iIiHf2Q23HIWQiXr63JOEYwobHg+8= X-Google-Smtp-Source: AKy350YCEBxQ9qeff/R4Q+mJZW/BqOnlvv5UCSZW8dAVIgUtECrl47ox/zaw48bGHYWD1mbdyVRv1A== X-Received: by 2002:a17:902:e883:b0:1a1:db10:7ba5 with SMTP id w3-20020a170902e88300b001a1db107ba5mr8608775plg.41.1680711711873; Wed, 05 Apr 2023 09:21:51 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.59.161.240]) by smtp.gmail.com with ESMTPSA id iy5-20020a170903130500b0019e81c8fd01sm10324447plb.249.2023.04.05.09.21.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Apr 2023 09:21:50 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id 12C7E740148 for ; Wed, 5 Apr 2023 09:21:45 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 14/19] : Add AVX-IFMA support Date: Wed, 5 Apr 2023 09:21:39 -0700 Message-Id: <20230405162144.984598-15-hjl.tools@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230405162144.984598-1-hjl.tools@gmail.com> References: <20230405162144.984598-1-hjl.tools@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3025.6 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 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: "H.J. Lu via Libc-alpha" From: "H.J. Lu" Reply-To: "H.J. Lu" Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Add AVX-IFMA support to . Reviewed-by: Noah Goldstein --- manual/platform.texi | 3 +++ sysdeps/x86/bits/platform/x86.h | 1 + sysdeps/x86/cpu-features.c | 2 ++ sysdeps/x86/include/cpu-features.h | 3 +++ sysdeps/x86/tst-get-cpu-features.c | 2 ++ 5 files changed, 11 insertions(+) diff --git a/manual/platform.texi b/manual/platform.texi index 7d4aa3d339..af75e5c413 100644 --- a/manual/platform.texi +++ b/manual/platform.texi @@ -219,6 +219,9 @@ Leaf (EAX = 23H). @item @code{AVX2} -- The AVX2 instruction extensions. +@item +@code{AVX_IFMA} -- The AVX-IFMA instruction extensions. + @item @code{AVX_VNNI} -- The AVX-VNNI instruction extensions. diff --git a/sysdeps/x86/bits/platform/x86.h b/sysdeps/x86/bits/platform/x86.h index 2776c69b16..abc0116607 100644 --- a/sysdeps/x86/bits/platform/x86.h +++ b/sysdeps/x86/bits/platform/x86.h @@ -300,6 +300,7 @@ enum x86_cpu_WRMSRNS = x86_cpu_index_7_ecx_1_eax + 19, x86_cpu_AMX_FP16 = x86_cpu_index_7_ecx_1_eax + 21, x86_cpu_HRESET = x86_cpu_index_7_ecx_1_eax + 22, + x86_cpu_AVX_IFMA = x86_cpu_index_7_ecx_1_eax + 23, x86_cpu_LAM = x86_cpu_index_7_ecx_1_eax + 26, x86_cpu_index_19_ebx diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c index 6c1b5efc5f..06fae443a8 100644 --- a/sysdeps/x86/cpu-features.c +++ b/sysdeps/x86/cpu-features.c @@ -139,6 +139,8 @@ update_active (struct cpu_features *cpu_features) cpu_features->preferred[index_arch_AVX_Fast_Unaligned_Load] |= bit_arch_AVX_Fast_Unaligned_Load; } + /* Determine if AVX-IFMA is usable. */ + CPU_FEATURE_SET_ACTIVE (cpu_features, AVX_IFMA); /* Determine if AVX-VNNI is usable. */ CPU_FEATURE_SET_ACTIVE (cpu_features, AVX_VNNI); /* Determine if FMA is usable. */ diff --git a/sysdeps/x86/include/cpu-features.h b/sysdeps/x86/include/cpu-features.h index 07c841c1d4..1f4b6831f9 100644 --- a/sysdeps/x86/include/cpu-features.h +++ b/sysdeps/x86/include/cpu-features.h @@ -311,6 +311,7 @@ enum #define bit_cpu_FSRCS (1u << 12) #define bit_cpu_AMX_FP16 (1u << 21) #define bit_cpu_HRESET (1u << 22) +#define bit_cpu_AVX_IFMA (1u << 23) #define bit_cpu_LAM (1u << 26) /* CPUID_INDEX_19. */ @@ -549,6 +550,7 @@ enum #define index_cpu_FSRCS CPUID_INDEX_7_ECX_1 #define index_cpu_AMX_FP16 CPUID_INDEX_7_ECX_1 #define index_cpu_HRESET CPUID_INDEX_7_ECX_1 +#define index_cpu_AVX_IFMA CPUID_INDEX_7_ECX_1 #define index_cpu_LAM CPUID_INDEX_7_ECX_1 /* CPUID_INDEX_19. */ @@ -787,6 +789,7 @@ enum #define reg_FSRCS eax #define reg_AMX_FP16 eax #define reg_HRESET eax +#define reg_AVX_IFMA eax #define reg_LAM eax /* CPUID_INDEX_19. */ diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c index c0f222cb77..3a2d4671ec 100644 --- a/sysdeps/x86/tst-get-cpu-features.c +++ b/sysdeps/x86/tst-get-cpu-features.c @@ -212,6 +212,7 @@ do_test (void) CHECK_CPU_FEATURE_PRESENT (WRMSRNS); CHECK_CPU_FEATURE_PRESENT (AMX_FP16); CHECK_CPU_FEATURE_PRESENT (HRESET); + CHECK_CPU_FEATURE_PRESENT (AVX_IFMA); CHECK_CPU_FEATURE_PRESENT (LAM); CHECK_CPU_FEATURE_PRESENT (AESKLE); CHECK_CPU_FEATURE_PRESENT (WIDE_KL); @@ -379,6 +380,7 @@ do_test (void) CHECK_CPU_FEATURE_ACTIVE (FSRS); CHECK_CPU_FEATURE_ACTIVE (FSRCS); CHECK_CPU_FEATURE_ACTIVE (AMX_FP16); + CHECK_CPU_FEATURE_ACTIVE (AVX_IFMA); CHECK_CPU_FEATURE_ACTIVE (AESKLE); CHECK_CPU_FEATURE_ACTIVE (WIDE_KL); CHECK_CPU_FEATURE_ACTIVE (PTWRITE); From patchwork Wed Apr 5 16:21:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 1765653 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.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=G0sFp28B; dkim-atps=neutral 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 ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Ps91v19qjz1yZT for ; Thu, 6 Apr 2023 02:24:19 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0D0E7383D667 for ; Wed, 5 Apr 2023 16:24:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0D0E7383D667 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680711857; bh=pAkFcHaS94B8XuA/Hsl+Rs14VQ9AH8YdYEDonqHyJqc=; 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=G0sFp28BlXAP7Bsh3TN/wnowWRdNy143VYr7F3N0m0e+K/6brQ4U84PaxButEFkzs l50sfN1LQslOxcZpORJoIh06eypzmnU3ms8nqxvOWy/uW9ECzYbcd0Pl2RTIOeBihR VM70gCbXw+xIYLCWazTy+2ORCjttt09yJZc9trvA= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com [IPv6:2607:f8b0:4864:20::62a]) by sourceware.org (Postfix) with ESMTPS id 324AC385770E for ; Wed, 5 Apr 2023 16:21:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 324AC385770E Received: by mail-pl1-x62a.google.com with SMTP id c18so34878180ple.11 for ; Wed, 05 Apr 2023 09:21:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680711712; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pAkFcHaS94B8XuA/Hsl+Rs14VQ9AH8YdYEDonqHyJqc=; b=VqZNOtfY/dLsvBQ0i8KxlF/575Gngf7CEhBr9RqvFLM+3HFuevgJyKjBw0UqyI5cc7 bAtmChWCaCPhtBHv6mmaobmvugYm5m9ikeGka9vv5rrpaUQeqZc6nR3ymPzYlzEqrYuc dgsZXBC6AalvgEiJN+47cEbemcaCbg3oknIVGQLh5nDLtUaf9aJfRUYI7DUSYpPJVuyI VDyTqDf9HAqZL3GsLghT/qWvuEWINqiNqOYbXjXjY1b/bg4EwejpDeuvI7/IKVeT6MS6 kU6bzFERskNL5HfdaJGPUheABPFlNj9KoJz8Zm8sR2DZqvaIOqllMeAt3axKoxcsF79Z ffhA== X-Gm-Message-State: AAQBX9dLyjKXPbtVbnbkPgUYFY4G1fhi4NiECFEchN3mYG2G36PSg+eq 3D8cmU+joiEGpV1/uBf7O1+nyg6OM2A= X-Google-Smtp-Source: AKy350bqyqaQT/nCRj/UkUyqeGl2o5ku0GqMskKWGD7a32NRz9NAmm8o48YR3ONogOTntmjg1LI3jw== X-Received: by 2002:a17:902:e5d0:b0:1a1:b238:d1a5 with SMTP id u16-20020a170902e5d000b001a1b238d1a5mr7913497plf.4.1680711712007; Wed, 05 Apr 2023 09:21:52 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.59.161.240]) by smtp.gmail.com with ESMTPSA id p4-20020a170902eac400b001a2806ae2f7sm10389281pld.83.2023.04.05.09.21.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Apr 2023 09:21:50 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id 1EAD674015C for ; Wed, 5 Apr 2023 09:21:45 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 15/19] : Add MSRLIST support Date: Wed, 5 Apr 2023 09:21:40 -0700 Message-Id: <20230405162144.984598-16-hjl.tools@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230405162144.984598-1-hjl.tools@gmail.com> References: <20230405162144.984598-1-hjl.tools@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3025.6 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 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: "H.J. Lu via Libc-alpha" From: "H.J. Lu" Reply-To: "H.J. Lu" Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Add MSRLIST support to . Reviewed-by: Noah Goldstein --- manual/platform.texi | 4 ++++ sysdeps/x86/bits/platform/x86.h | 1 + sysdeps/x86/tst-get-cpu-features.c | 1 + 3 files changed, 6 insertions(+) diff --git a/manual/platform.texi b/manual/platform.texi index af75e5c413..bfccd024a5 100644 --- a/manual/platform.texi +++ b/manual/platform.texi @@ -464,6 +464,10 @@ the indirect branch predictor barrier (IBPB). @item @code{MSR} -- Model Specific Registers RDMSR and WRMSR instructions. +@item +@code{MSRLIST} -- RDMSRLIST/WRMSRLIST instructions and IA32_BARRIER +MSR. + @item @code{MTRR} -- Memory Type Range Registers. diff --git a/sysdeps/x86/bits/platform/x86.h b/sysdeps/x86/bits/platform/x86.h index abc0116607..57973e9a6c 100644 --- a/sysdeps/x86/bits/platform/x86.h +++ b/sysdeps/x86/bits/platform/x86.h @@ -302,6 +302,7 @@ enum x86_cpu_HRESET = x86_cpu_index_7_ecx_1_eax + 22, x86_cpu_AVX_IFMA = x86_cpu_index_7_ecx_1_eax + 23, x86_cpu_LAM = x86_cpu_index_7_ecx_1_eax + 26, + x86_cpu_MSRLIST = x86_cpu_index_7_ecx_1_eax + 27, x86_cpu_index_19_ebx = (CPUID_INDEX_19 * 8 * 4 * sizeof (unsigned int) diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c index 3a2d4671ec..0c948c2b04 100644 --- a/sysdeps/x86/tst-get-cpu-features.c +++ b/sysdeps/x86/tst-get-cpu-features.c @@ -214,6 +214,7 @@ do_test (void) CHECK_CPU_FEATURE_PRESENT (HRESET); CHECK_CPU_FEATURE_PRESENT (AVX_IFMA); CHECK_CPU_FEATURE_PRESENT (LAM); + CHECK_CPU_FEATURE_PRESENT (MSRLIST); CHECK_CPU_FEATURE_PRESENT (AESKLE); CHECK_CPU_FEATURE_PRESENT (WIDE_KL); CHECK_CPU_FEATURE_PRESENT (PTWRITE); From patchwork Wed Apr 5 16:21:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 1765661 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.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=BXxIRTRP; dkim-atps=neutral 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 ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Ps93d0Xz7z1yY8 for ; Thu, 6 Apr 2023 02:25:49 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 085DF3871F6C for ; Wed, 5 Apr 2023 16:25:47 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 085DF3871F6C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680711947; bh=hTp02DstGWsVPTHad1o5/yiK77AdXTjArr5TcwpRMxs=; 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=BXxIRTRPCnTn+YvGlbP0Y47dQF9/D7OtiLsjBgt2op/VcUCWZaAOYhP7+fAK8XQNT UEcHmOPHbzZh1bWFFzg8bppO48t18Ti3Fdt3Vo7D28vzQZ62pIR5A55Xj9Fs0RvS3v E0hrJbQsg3d65reCpEkcbNv/NSqfdjCxU6tQz26c= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com [IPv6:2607:f8b0:4864:20::631]) by sourceware.org (Postfix) with ESMTPS id BC256385771A for ; Wed, 5 Apr 2023 16:21:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BC256385771A Received: by mail-pl1-x631.google.com with SMTP id z19so34904478plo.2 for ; Wed, 05 Apr 2023 09:21:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680711712; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=hTp02DstGWsVPTHad1o5/yiK77AdXTjArr5TcwpRMxs=; b=VGbV6FVOhxEJZysSlwxzMWTzf10rEngEXZJ/fnGTg+s/9brt1Ng2+VhTnNQAHbb9I3 kL8iT6VmKs7iBB6EV0y5wyHTIl4oM38p7/QTK3LgdU5LyT021DKcOKeOBMiSDjKLlbfV HPfC1+IaVs2BLhnEhLx2/QdUv1f2PNl6//ONviFvTRISDHm0+9t5gnRBGpaDk3UavfuR jE1he15CzOiHNsAhGpwsGE5PuIA8p6pzP/La2x5HS9VQuShV7bCrY9XuiIReVUXdRLyl 6o3ALWKmubA9P+Unj77yJeOR0iseBFfQsZFntjcOCrYFx2YY9X74AD69pKlZGlPQIHMn vz6Q== X-Gm-Message-State: AAQBX9c+kEVHJWLvQyQXILRm9RsX3V9bMtdegfJ4agmTA+Tj9/SFq6XQ yTAfGMSzelHWERxu2GKuzf4AMWqcKfc= X-Google-Smtp-Source: AKy350bNfZjYjdoBpmV2w9vGc+2itokHXwTlia3/fGRf+2TjQp6mT3xpK2KBdWkRWbwMsxUc4WG7Lg== X-Received: by 2002:a17:90a:4fc2:b0:23d:1a5c:ff3d with SMTP id q60-20020a17090a4fc200b0023d1a5cff3dmr7594200pjh.37.1680711712451; Wed, 05 Apr 2023 09:21:52 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.59.161.240]) by smtp.gmail.com with ESMTPSA id k10-20020a170902ce0a00b0019a70a42b0asm10484242plg.169.2023.04.05.09.21.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Apr 2023 09:21:50 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id 2AD7B740160 for ; Wed, 5 Apr 2023 09:21:45 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 16/19] : Add AVX-VNNI-INT8 support Date: Wed, 5 Apr 2023 09:21:41 -0700 Message-Id: <20230405162144.984598-17-hjl.tools@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230405162144.984598-1-hjl.tools@gmail.com> References: <20230405162144.984598-1-hjl.tools@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3025.5 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 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: "H.J. Lu via Libc-alpha" From: "H.J. Lu" Reply-To: "H.J. Lu" Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Add AVX-VNNI-INT8 support to . Reviewed-by: Noah Goldstein --- manual/platform.texi | 3 +++ sysdeps/x86/bits/platform/x86.h | 6 ++++++ sysdeps/x86/cpu-features.c | 2 ++ sysdeps/x86/include/cpu-features.h | 7 +++++++ sysdeps/x86/tst-get-cpu-features.c | 2 ++ 5 files changed, 20 insertions(+) diff --git a/manual/platform.texi b/manual/platform.texi index bfccd024a5..873ea0a84a 100644 --- a/manual/platform.texi +++ b/manual/platform.texi @@ -225,6 +225,9 @@ Leaf (EAX = 23H). @item @code{AVX_VNNI} -- The AVX-VNNI instruction extensions. +@item +@code{AVX_VNNI_INT8} -- The AVX-VNNI-INT8 instruction extensions. + @item @code{AVX512_4FMAPS} -- The AVX512_4FMAPS instruction extensions. diff --git a/sysdeps/x86/bits/platform/x86.h b/sysdeps/x86/bits/platform/x86.h index 57973e9a6c..7b239ef188 100644 --- a/sysdeps/x86/bits/platform/x86.h +++ b/sysdeps/x86/bits/platform/x86.h @@ -304,6 +304,12 @@ enum x86_cpu_LAM = x86_cpu_index_7_ecx_1_eax + 26, x86_cpu_MSRLIST = x86_cpu_index_7_ecx_1_eax + 27, + x86_cpu_index_7_ecx_1_edx + = (CPUID_INDEX_7_ECX_1 * 8 * 4 * sizeof (unsigned int) + + cpuid_register_index_edx * 8 * sizeof (unsigned int)), + + x86_cpu_AVX_VNNI_INT8 = x86_cpu_index_7_ecx_1_edx + 4, + x86_cpu_index_19_ebx = (CPUID_INDEX_19 * 8 * 4 * sizeof (unsigned int) + cpuid_register_index_ebx * 8 * sizeof (unsigned int)), diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c index 06fae443a8..f34f4884eb 100644 --- a/sysdeps/x86/cpu-features.c +++ b/sysdeps/x86/cpu-features.c @@ -143,6 +143,8 @@ update_active (struct cpu_features *cpu_features) CPU_FEATURE_SET_ACTIVE (cpu_features, AVX_IFMA); /* Determine if AVX-VNNI is usable. */ CPU_FEATURE_SET_ACTIVE (cpu_features, AVX_VNNI); + /* Determine if AVX-VNNI-INT8 is usable. */ + CPU_FEATURE_SET_ACTIVE (cpu_features, AVX_VNNI_INT8); /* Determine if FMA is usable. */ CPU_FEATURE_SET_ACTIVE (cpu_features, FMA); /* Determine if VAES is usable. */ diff --git a/sysdeps/x86/include/cpu-features.h b/sysdeps/x86/include/cpu-features.h index 1f4b6831f9..5e09c58d9c 100644 --- a/sysdeps/x86/include/cpu-features.h +++ b/sysdeps/x86/include/cpu-features.h @@ -314,6 +314,9 @@ enum #define bit_cpu_AVX_IFMA (1u << 23) #define bit_cpu_LAM (1u << 26) +/* EDX. */ +#define bit_cpu_AVX_VNNI_INT8 (1u << 4) + /* CPUID_INDEX_19. */ /* EBX. */ @@ -552,6 +555,7 @@ enum #define index_cpu_HRESET CPUID_INDEX_7_ECX_1 #define index_cpu_AVX_IFMA CPUID_INDEX_7_ECX_1 #define index_cpu_LAM CPUID_INDEX_7_ECX_1 +#define index_cpu_AVX_VNNI_INT8 CPUID_INDEX_7_ECX_1 /* CPUID_INDEX_19. */ @@ -792,6 +796,9 @@ enum #define reg_AVX_IFMA eax #define reg_LAM eax +/* EDX. */ +#define reg_AVX_VNNI_INT8 edx + /* CPUID_INDEX_19. */ /* EBX. */ diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c index 0c948c2b04..f0585cf330 100644 --- a/sysdeps/x86/tst-get-cpu-features.c +++ b/sysdeps/x86/tst-get-cpu-features.c @@ -215,6 +215,7 @@ do_test (void) CHECK_CPU_FEATURE_PRESENT (AVX_IFMA); CHECK_CPU_FEATURE_PRESENT (LAM); CHECK_CPU_FEATURE_PRESENT (MSRLIST); + CHECK_CPU_FEATURE_PRESENT (AVX_VNNI_INT8); CHECK_CPU_FEATURE_PRESENT (AESKLE); CHECK_CPU_FEATURE_PRESENT (WIDE_KL); CHECK_CPU_FEATURE_PRESENT (PTWRITE); @@ -382,6 +383,7 @@ do_test (void) CHECK_CPU_FEATURE_ACTIVE (FSRCS); CHECK_CPU_FEATURE_ACTIVE (AMX_FP16); CHECK_CPU_FEATURE_ACTIVE (AVX_IFMA); + CHECK_CPU_FEATURE_ACTIVE (AVX_VNNI_INT8); CHECK_CPU_FEATURE_ACTIVE (AESKLE); CHECK_CPU_FEATURE_ACTIVE (WIDE_KL); CHECK_CPU_FEATURE_ACTIVE (PTWRITE); From patchwork Wed Apr 5 16:21:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 1765656 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.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=WhhHu0xv; dkim-atps=neutral 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 ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Ps92j5857z1yZT for ; Thu, 6 Apr 2023 02:25:01 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A305138708AC for ; Wed, 5 Apr 2023 16:24:59 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A305138708AC DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680711899; bh=glCPFRp0fiTHOY8l0voKdQxsRLH3sM7FrG5b0QUXIxk=; 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=WhhHu0xvgF6pwXS3oRE8GDxz6+c5MoPC42DYL47roSUYcJEH35/+ff1fErKTw+gKt ETQW31G9oqUNiuDPtl7Z7kX3zyFs6wnblqxhYMdDX67Gn/G1vlsCQ+ddd2SCoT2cle EKITQm7CIhay91eiN0dcW4/DtMYOjc6sUDxIDqoE= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com [IPv6:2607:f8b0:4864:20::634]) by sourceware.org (Postfix) with ESMTPS id 667143857712 for ; Wed, 5 Apr 2023 16:21:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 667143857712 Received: by mail-pl1-x634.google.com with SMTP id kc4so34879175plb.10 for ; Wed, 05 Apr 2023 09:21:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680711713; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=glCPFRp0fiTHOY8l0voKdQxsRLH3sM7FrG5b0QUXIxk=; b=TLhuP6nElkrgI24tNvinjizUSbAuvCj6ZIRty4vkIo2URPioH81xSgJt1lxeeNRgHJ E4QJ61ZiRSxMuNGbyCxVcmlVAz0maFrnk36RuDApTmbJmqtPVLSTjn6SFx4zwirWYH5N kjHw0gfODpg+/GVRH9NTo8+fWsA4pdPvP5xC9GGWpDqjWJIKO6Tc+dOXevNPiePZ4Ogm YM33w7jnzS85S8i+D9rVKtVxY6m8ISKsmUKzqSOo5+9o29psBvoYtZP0O91I6DNJdkix o3ZtFDqjA7sfyefWm5+yKd/P/IyWGQuRPlIowgjCrxM5ti2bhH1bIUf4u8/3TIZ4QUsJ /w7w== X-Gm-Message-State: AAQBX9f0HL+kXn/KQOM3e32qvN8lYBAu8DGcapc8TH0cF4Zmt0G6EXo3 JzDN7wYrcyi+rVMzILoG5QRPARizGkA= X-Google-Smtp-Source: AKy350YBLs+GT9OXu6+nTwRkX8DC6blR957/6SNueKkAVC/2ZRMRhjFIEf5vVhagPMof8HQZVEncJA== X-Received: by 2002:a05:6a20:cf63:b0:db:b7:fe3f with SMTP id hz35-20020a056a20cf6300b000db00b7fe3fmr5865808pzb.10.1680711712738; Wed, 05 Apr 2023 09:21:52 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.59.161.240]) by smtp.gmail.com with ESMTPSA id 127-20020a630885000000b0051324e710d0sm8125322pgi.59.2023.04.05.09.21.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Apr 2023 09:21:50 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id 36F48740167 for ; Wed, 5 Apr 2023 09:21:45 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 17/19] : Add AVX-NE-CONVERT support Date: Wed, 5 Apr 2023 09:21:42 -0700 Message-Id: <20230405162144.984598-18-hjl.tools@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230405162144.984598-1-hjl.tools@gmail.com> References: <20230405162144.984598-1-hjl.tools@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3025.6 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 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: "H.J. Lu via Libc-alpha" From: "H.J. Lu" Reply-To: "H.J. Lu" Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Add AVX-NE-CONVERT support to . Reviewed-by: Noah Goldstein --- manual/platform.texi | 3 +++ sysdeps/x86/bits/platform/x86.h | 1 + sysdeps/x86/cpu-features.c | 2 ++ sysdeps/x86/include/cpu-features.h | 3 +++ sysdeps/x86/tst-get-cpu-features.c | 2 ++ 5 files changed, 11 insertions(+) diff --git a/manual/platform.texi b/manual/platform.texi index 873ea0a84a..1e120993d7 100644 --- a/manual/platform.texi +++ b/manual/platform.texi @@ -222,6 +222,9 @@ Leaf (EAX = 23H). @item @code{AVX_IFMA} -- The AVX-IFMA instruction extensions. +@item +@code{AVX_NE_CONVERT} -- The AVX-NE-CONVERT instruction extensions. + @item @code{AVX_VNNI} -- The AVX-VNNI instruction extensions. diff --git a/sysdeps/x86/bits/platform/x86.h b/sysdeps/x86/bits/platform/x86.h index 7b239ef188..d8ba33bd42 100644 --- a/sysdeps/x86/bits/platform/x86.h +++ b/sysdeps/x86/bits/platform/x86.h @@ -309,6 +309,7 @@ enum + cpuid_register_index_edx * 8 * sizeof (unsigned int)), x86_cpu_AVX_VNNI_INT8 = x86_cpu_index_7_ecx_1_edx + 4, + x86_cpu_AVX_NE_CONVERT = x86_cpu_index_7_ecx_1_edx + 5, x86_cpu_index_19_ebx = (CPUID_INDEX_19 * 8 * 4 * sizeof (unsigned int) diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c index f34f4884eb..dfd1b85dce 100644 --- a/sysdeps/x86/cpu-features.c +++ b/sysdeps/x86/cpu-features.c @@ -141,6 +141,8 @@ update_active (struct cpu_features *cpu_features) } /* Determine if AVX-IFMA is usable. */ CPU_FEATURE_SET_ACTIVE (cpu_features, AVX_IFMA); + /* Determine if AVX-NE-CONVERT is usable. */ + CPU_FEATURE_SET_ACTIVE (cpu_features, AVX_NE_CONVERT); /* Determine if AVX-VNNI is usable. */ CPU_FEATURE_SET_ACTIVE (cpu_features, AVX_VNNI); /* Determine if AVX-VNNI-INT8 is usable. */ diff --git a/sysdeps/x86/include/cpu-features.h b/sysdeps/x86/include/cpu-features.h index 5e09c58d9c..673cf8ca92 100644 --- a/sysdeps/x86/include/cpu-features.h +++ b/sysdeps/x86/include/cpu-features.h @@ -316,6 +316,7 @@ enum /* EDX. */ #define bit_cpu_AVX_VNNI_INT8 (1u << 4) +#define bit_cpu_AVX_NE_CONVERT (1u << 5) /* CPUID_INDEX_19. */ @@ -556,6 +557,7 @@ enum #define index_cpu_AVX_IFMA CPUID_INDEX_7_ECX_1 #define index_cpu_LAM CPUID_INDEX_7_ECX_1 #define index_cpu_AVX_VNNI_INT8 CPUID_INDEX_7_ECX_1 +#define index_cpu_AVX_NE_CONVERT CPUID_INDEX_7_ECX_1 /* CPUID_INDEX_19. */ @@ -798,6 +800,7 @@ enum /* EDX. */ #define reg_AVX_VNNI_INT8 edx +#define reg_AVX_NE_CONVERT edx /* CPUID_INDEX_19. */ diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c index f0585cf330..bb1b67fd1c 100644 --- a/sysdeps/x86/tst-get-cpu-features.c +++ b/sysdeps/x86/tst-get-cpu-features.c @@ -216,6 +216,7 @@ do_test (void) CHECK_CPU_FEATURE_PRESENT (LAM); CHECK_CPU_FEATURE_PRESENT (MSRLIST); CHECK_CPU_FEATURE_PRESENT (AVX_VNNI_INT8); + CHECK_CPU_FEATURE_PRESENT (AVX_NE_CONVERT); CHECK_CPU_FEATURE_PRESENT (AESKLE); CHECK_CPU_FEATURE_PRESENT (WIDE_KL); CHECK_CPU_FEATURE_PRESENT (PTWRITE); @@ -384,6 +385,7 @@ do_test (void) CHECK_CPU_FEATURE_ACTIVE (AMX_FP16); CHECK_CPU_FEATURE_ACTIVE (AVX_IFMA); CHECK_CPU_FEATURE_ACTIVE (AVX_VNNI_INT8); + CHECK_CPU_FEATURE_ACTIVE (AVX_NE_CONVERT); CHECK_CPU_FEATURE_ACTIVE (AESKLE); CHECK_CPU_FEATURE_ACTIVE (WIDE_KL); CHECK_CPU_FEATURE_ACTIVE (PTWRITE); From patchwork Wed Apr 5 16:21:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 1765658 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.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=Dm7smV4x; dkim-atps=neutral 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 ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Ps92p6b80z1yZh for ; Thu, 6 Apr 2023 02:25:06 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id DBBB73854174 for ; Wed, 5 Apr 2023 16:25:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DBBB73854174 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680711904; bh=HKvQNKlmWDPkcVwVE5/ZKpRp8wgIVcVXPb8f1MV/Gcs=; 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=Dm7smV4x/aeTvUgL4mn1DXyuzmKcMYascugUfqz4+YZ4Q3pgsgnXADCBMHbavf4ks VDe7DeJ2KJyChmYGdlDRgpdaUZIKq4sG+v3QQhQZ9Fq9aE04gnEBX5BbkUpFF4xFV0 cYYN/qwghweRA1TW843f2cxKndXzUTJrQseiqaOM= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pj1-x1035.google.com (mail-pj1-x1035.google.com [IPv6:2607:f8b0:4864:20::1035]) by sourceware.org (Postfix) with ESMTPS id 8023C3857714 for ; Wed, 5 Apr 2023 16:21:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8023C3857714 Received: by mail-pj1-x1035.google.com with SMTP id h12-20020a17090aea8c00b0023d1311fab3so37827256pjz.1 for ; Wed, 05 Apr 2023 09:21:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680711712; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HKvQNKlmWDPkcVwVE5/ZKpRp8wgIVcVXPb8f1MV/Gcs=; b=jur5C68kGdTqffvWHxXEJn8ugRyJeEZbahny0fWr3PE26IKlEzkfAoY6nM/6nS00RC nszKQAaz9eDS531E3edJVh0jznJbycJWrE025olWII0vd56vYA/g++oJrZ5B3VqaBk7k Q/sSJg0lyxpUJejSbQTZY0FS9eaUjmcSoxnuYYzfS9ypJyUIcefKoVjh6PBiUSvISpjd sQwbXlgEr6t94m0JhGTWcpuEiBfbrhfBkNzdMpoR7O7hw0mz9Mdg4a49tN/fKiQR0cjT tOqEWOJye6rpOpcRD6xAg6uXoLTHv7S7xp91lxrjJez/abHTP5kKSjsNhtduB77eJ4lV IgTw== X-Gm-Message-State: AAQBX9cVWru1A8FDQtS5tUaRP/MJlKyC0C1MpJEPRNS0JcXh6BzUI5Vz CYU7E4i+NSiqm8Xl3C2/tavUN/IlEDs= X-Google-Smtp-Source: AKy350ZcCadDekydm1+u00yZYpeYirVYL2uUnq1fRoRkaG6b/+OAcP/1Gwq5L79yVps1Ecbp6y+06Q== X-Received: by 2002:a17:902:d081:b0:1a1:d5fd:1e9a with SMTP id v1-20020a170902d08100b001a1d5fd1e9amr6050163plv.40.1680711712189; Wed, 05 Apr 2023 09:21:52 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.59.161.240]) by smtp.gmail.com with ESMTPSA id w23-20020a170902d71700b0019cb6222691sm10350978ply.133.2023.04.05.09.21.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Apr 2023 09:21:50 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id 4337E740171 for ; Wed, 5 Apr 2023 09:21:45 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 18/19] : Add AMX-COMPLEX support Date: Wed, 5 Apr 2023 09:21:43 -0700 Message-Id: <20230405162144.984598-19-hjl.tools@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230405162144.984598-1-hjl.tools@gmail.com> References: <20230405162144.984598-1-hjl.tools@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3025.6 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 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: "H.J. Lu via Libc-alpha" From: "H.J. Lu" Reply-To: "H.J. Lu" Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Add AMX-COMPLEX support to . Reviewed-by: Noah Goldstein --- manual/platform.texi | 3 +++ sysdeps/x86/bits/platform/x86.h | 1 + sysdeps/x86/cpu-features.c | 2 ++ sysdeps/x86/include/cpu-features.h | 3 +++ sysdeps/x86/tst-get-cpu-features.c | 2 ++ 5 files changed, 11 insertions(+) diff --git a/manual/platform.texi b/manual/platform.texi index 1e120993d7..e7448ffc1a 100644 --- a/manual/platform.texi +++ b/manual/platform.texi @@ -197,6 +197,9 @@ The supported processor features are: @item @code{AMX_BF16} -- Tile computational operations on bfloat16 numbers. +@item +@code{AMX_COMPLEX} -- Tile computational operations on complex FP16 numbers. + @item @code{AMX_INT8} -- Tile computational operations on 8-bit numbers. diff --git a/sysdeps/x86/bits/platform/x86.h b/sysdeps/x86/bits/platform/x86.h index d8ba33bd42..96eb4c070d 100644 --- a/sysdeps/x86/bits/platform/x86.h +++ b/sysdeps/x86/bits/platform/x86.h @@ -310,6 +310,7 @@ enum x86_cpu_AVX_VNNI_INT8 = x86_cpu_index_7_ecx_1_edx + 4, x86_cpu_AVX_NE_CONVERT = x86_cpu_index_7_ecx_1_edx + 5, + x86_cpu_AMX_COMPLEX = x86_cpu_index_7_ecx_1_edx + 8, x86_cpu_index_19_ebx = (CPUID_INDEX_19 * 8 * 4 * sizeof (unsigned int) diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c index dfd1b85dce..c2bea6a32d 100644 --- a/sysdeps/x86/cpu-features.c +++ b/sysdeps/x86/cpu-features.c @@ -221,6 +221,8 @@ update_active (struct cpu_features *cpu_features) CPU_FEATURE_SET_ACTIVE (cpu_features, AMX_INT8); /* Determine if AMX_FP16 is usable. */ CPU_FEATURE_SET_ACTIVE (cpu_features, AMX_FP16); + /* Determine if AMX_COMPLEX is usable. */ + CPU_FEATURE_SET_ACTIVE (cpu_features, AMX_COMPLEX); } /* These features are usable only when OSXSAVE is enabled. */ diff --git a/sysdeps/x86/include/cpu-features.h b/sysdeps/x86/include/cpu-features.h index 673cf8ca92..f14c1078d5 100644 --- a/sysdeps/x86/include/cpu-features.h +++ b/sysdeps/x86/include/cpu-features.h @@ -317,6 +317,7 @@ enum /* EDX. */ #define bit_cpu_AVX_VNNI_INT8 (1u << 4) #define bit_cpu_AVX_NE_CONVERT (1u << 5) +#define bit_cpu_AMX_COMPLEX (1u << 8) /* CPUID_INDEX_19. */ @@ -558,6 +559,7 @@ enum #define index_cpu_LAM CPUID_INDEX_7_ECX_1 #define index_cpu_AVX_VNNI_INT8 CPUID_INDEX_7_ECX_1 #define index_cpu_AVX_NE_CONVERT CPUID_INDEX_7_ECX_1 +#define index_cpu_AMX_COMPLEX CPUID_INDEX_7_ECX_1 /* CPUID_INDEX_19. */ @@ -801,6 +803,7 @@ enum /* EDX. */ #define reg_AVX_VNNI_INT8 edx #define reg_AVX_NE_CONVERT edx +#define reg_AMX_COMPLEX edx /* CPUID_INDEX_19. */ diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c index bb1b67fd1c..87fe27340f 100644 --- a/sysdeps/x86/tst-get-cpu-features.c +++ b/sysdeps/x86/tst-get-cpu-features.c @@ -217,6 +217,7 @@ do_test (void) CHECK_CPU_FEATURE_PRESENT (MSRLIST); CHECK_CPU_FEATURE_PRESENT (AVX_VNNI_INT8); CHECK_CPU_FEATURE_PRESENT (AVX_NE_CONVERT); + CHECK_CPU_FEATURE_PRESENT (AMX_COMPLEX); CHECK_CPU_FEATURE_PRESENT (AESKLE); CHECK_CPU_FEATURE_PRESENT (WIDE_KL); CHECK_CPU_FEATURE_PRESENT (PTWRITE); @@ -386,6 +387,7 @@ do_test (void) CHECK_CPU_FEATURE_ACTIVE (AVX_IFMA); CHECK_CPU_FEATURE_ACTIVE (AVX_VNNI_INT8); CHECK_CPU_FEATURE_ACTIVE (AVX_NE_CONVERT); + CHECK_CPU_FEATURE_ACTIVE (AMX_COMPLEX); CHECK_CPU_FEATURE_ACTIVE (AESKLE); CHECK_CPU_FEATURE_ACTIVE (WIDE_KL); CHECK_CPU_FEATURE_ACTIVE (PTWRITE); From patchwork Wed Apr 5 16:21:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 1765662 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.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=) Authentication-Results: legolas.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=Doa1bgJk; dkim-atps=neutral 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 ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Ps95h6R27z1yY8 for ; Thu, 6 Apr 2023 02:27:36 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7D4FA3856DC6 for ; Wed, 5 Apr 2023 16:27:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7D4FA3856DC6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680712054; bh=X2hXVs+boDvmY/dl5w2aOxXblh23VI3rvIG07AuwjyA=; 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=Doa1bgJkQcqGCjUX5aYwTiBFQNtCLtUb4d0Ju/hzZXa9+ANoncldXNam4mYgwpWcR oRXZv1E0r/wPWteKuecdgWiow+5w0A+hE6jO0hv4pl2EUt3g5coPJJ7tJNusBFqMkc Dx5f1b+wi0zC8ZU7FL9xByWq+zDxZni9opv1I9eQ= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com [IPv6:2607:f8b0:4864:20::634]) by sourceware.org (Postfix) with ESMTPS id 0F7DA3858D20 for ; Wed, 5 Apr 2023 16:27:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0F7DA3858D20 Received: by mail-pl1-x634.google.com with SMTP id c18so34893350ple.11 for ; Wed, 05 Apr 2023 09:27:19 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680712037; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=X2hXVs+boDvmY/dl5w2aOxXblh23VI3rvIG07AuwjyA=; b=FPsJTvy3KmQU2k6CGltkVCjKGPdUI//EJA94T+KyNhfVFiPd35eVzMm44IQI9Aahh1 EsrQEN6SJtB/ApzXA2dezkOT7sWlqotWthGVi5A1woazemR/C5e3YTM0/SISvRaudpTf XGYozEGMuGTpidY21gy0DM2AvSkQukvVp/nExnCaM7tPmjiQP6rnF1XeLCtFm+628APW 2sR+B4AVxqnXu/IMr7cAutUUf47m1nso+aog72BEnp9OgRX0+OMQliEA5z8mURmesbVh U2n9zSLajPcXp0H1fNm+M8f5Comcv6Nl8hxJL8al0n2jMqTNq+Xs0JsN6DlHn5otkQRn h8lw== X-Gm-Message-State: AAQBX9f8T5HuAuHDlLa+KnEpll/1INGa8rgp0/1DdbyseoSrsl/ZNXwS guUpXzikXET2HHhCAxUGeJmj6eioCuw= X-Google-Smtp-Source: AKy350Z1WveZDAwwrNySXCRyGTAVvmwUnMVXwc/PotjlhKEVYMVX31oNIICcs/zRhZM6K2ovkXpfwA== X-Received: by 2002:a17:90b:224f:b0:23c:ffbf:859e with SMTP id hk15-20020a17090b224f00b0023cffbf859emr7115153pjb.35.1680712036858; Wed, 05 Apr 2023 09:27:16 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.59.161.240]) by smtp.gmail.com with ESMTPSA id g15-20020a17090a7d0f00b002309279baf8sm1557389pjl.43.2023.04.05.09.27.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Apr 2023 09:27:16 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id 4F61E740176 for ; Wed, 5 Apr 2023 09:21:45 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 19/19] : Add PREFETCHI support Date: Wed, 5 Apr 2023 09:21:44 -0700 Message-Id: <20230405162144.984598-20-hjl.tools@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230405162144.984598-1-hjl.tools@gmail.com> References: <20230405162144.984598-1-hjl.tools@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3025.5 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 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: "H.J. Lu via Libc-alpha" From: "H.J. Lu" Reply-To: "H.J. Lu" Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" Add PREFETCHI support to . Reviewed-by: Noah Goldstein --- manual/platform.texi | 3 +++ sysdeps/x86/bits/platform/x86.h | 1 + sysdeps/x86/cpu-features.c | 1 + sysdeps/x86/include/cpu-features.h | 3 +++ sysdeps/x86/tst-get-cpu-features.c | 2 ++ 5 files changed, 10 insertions(+) diff --git a/manual/platform.texi b/manual/platform.texi index e7448ffc1a..c6ed73cb97 100644 --- a/manual/platform.texi +++ b/manual/platform.texi @@ -533,6 +533,9 @@ extended state management using XSAVE/XRSTOR. @item @code{PREFETCHWT1} -- PREFETCHWT1 instruction. +@item +@code{PREFETCHI} -- PREFETCHIT0/1 instructions. + @item @code{PSE} -- Page Size Extension. diff --git a/sysdeps/x86/bits/platform/x86.h b/sysdeps/x86/bits/platform/x86.h index 96eb4c070d..6555f9b91d 100644 --- a/sysdeps/x86/bits/platform/x86.h +++ b/sysdeps/x86/bits/platform/x86.h @@ -311,6 +311,7 @@ enum x86_cpu_AVX_VNNI_INT8 = x86_cpu_index_7_ecx_1_edx + 4, x86_cpu_AVX_NE_CONVERT = x86_cpu_index_7_ecx_1_edx + 5, x86_cpu_AMX_COMPLEX = x86_cpu_index_7_ecx_1_edx + 8, + x86_cpu_PREFETCHI = x86_cpu_index_7_ecx_1_edx + 14, x86_cpu_index_19_ebx = (CPUID_INDEX_19 * 8 * 4 * sizeof (unsigned int) diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c index c2bea6a32d..5bff8ec0b4 100644 --- a/sysdeps/x86/cpu-features.c +++ b/sysdeps/x86/cpu-features.c @@ -104,6 +104,7 @@ update_active (struct cpu_features *cpu_features) CPU_FEATURE_SET_ACTIVE (cpu_features, FZLRM); CPU_FEATURE_SET_ACTIVE (cpu_features, FSRS); CPU_FEATURE_SET_ACTIVE (cpu_features, FSRCS); + CPU_FEATURE_SET_ACTIVE (cpu_features, PREFETCHI); CPU_FEATURE_SET_ACTIVE (cpu_features, PTWRITE); if (!CPU_FEATURES_CPU_P (cpu_features, RTM_ALWAYS_ABORT)) diff --git a/sysdeps/x86/include/cpu-features.h b/sysdeps/x86/include/cpu-features.h index f14c1078d5..40b8129d6a 100644 --- a/sysdeps/x86/include/cpu-features.h +++ b/sysdeps/x86/include/cpu-features.h @@ -318,6 +318,7 @@ enum #define bit_cpu_AVX_VNNI_INT8 (1u << 4) #define bit_cpu_AVX_NE_CONVERT (1u << 5) #define bit_cpu_AMX_COMPLEX (1u << 8) +#define bit_cpu_PREFETCHI (1u << 14) /* CPUID_INDEX_19. */ @@ -560,6 +561,7 @@ enum #define index_cpu_AVX_VNNI_INT8 CPUID_INDEX_7_ECX_1 #define index_cpu_AVX_NE_CONVERT CPUID_INDEX_7_ECX_1 #define index_cpu_AMX_COMPLEX CPUID_INDEX_7_ECX_1 +#define index_cpu_PREFETCHI CPUID_INDEX_7_ECX_1 /* CPUID_INDEX_19. */ @@ -804,6 +806,7 @@ enum #define reg_AVX_VNNI_INT8 edx #define reg_AVX_NE_CONVERT edx #define reg_AMX_COMPLEX edx +#define reg_PREFETCHI edx /* CPUID_INDEX_19. */ diff --git a/sysdeps/x86/tst-get-cpu-features.c b/sysdeps/x86/tst-get-cpu-features.c index 87fe27340f..1bd7e0be53 100644 --- a/sysdeps/x86/tst-get-cpu-features.c +++ b/sysdeps/x86/tst-get-cpu-features.c @@ -218,6 +218,7 @@ do_test (void) CHECK_CPU_FEATURE_PRESENT (AVX_VNNI_INT8); CHECK_CPU_FEATURE_PRESENT (AVX_NE_CONVERT); CHECK_CPU_FEATURE_PRESENT (AMX_COMPLEX); + CHECK_CPU_FEATURE_PRESENT (PREFETCHI); CHECK_CPU_FEATURE_PRESENT (AESKLE); CHECK_CPU_FEATURE_PRESENT (WIDE_KL); CHECK_CPU_FEATURE_PRESENT (PTWRITE); @@ -388,6 +389,7 @@ do_test (void) CHECK_CPU_FEATURE_ACTIVE (AVX_VNNI_INT8); CHECK_CPU_FEATURE_ACTIVE (AVX_NE_CONVERT); CHECK_CPU_FEATURE_ACTIVE (AMX_COMPLEX); + CHECK_CPU_FEATURE_ACTIVE (PREFETCHI); CHECK_CPU_FEATURE_ACTIVE (AESKLE); CHECK_CPU_FEATURE_ACTIVE (WIDE_KL); CHECK_CPU_FEATURE_ACTIVE (PTWRITE);