summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2023-04-05 09:21:36 -0700
committerH.J. Lu <hjl.tools@gmail.com>2023-04-05 14:46:10 -0700
commita00db8305db02231cea6e3806d86526d209a580c (patch)
tree20fbf8ba288d9a1fb00f51db0336bfc42a87e212
parent2f02d0d8e15741efa1829dbaaf58b2d3e7c707a2 (diff)
downloadglibc-a00db8305db02231cea6e3806d86526d209a580c.tar.gz
<sys/platform/x86.h>: Add ArchPerfmonExt support
Add Architectural Performance Monitoring Extended Leaf (EAX = 23H) support to <sys/platform/x86.h>. Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
-rw-r--r--manual/platform.texi4
-rw-r--r--sysdeps/x86/bits/platform/x86.h1
-rw-r--r--sysdeps/x86/tst-get-cpu-features.c1
3 files changed, 6 insertions, 0 deletions
diff --git a/manual/platform.texi b/manual/platform.texi
index e4d2c00886..ecee3a7b39 100644
--- a/manual/platform.texi
+++ b/manual/platform.texi
@@ -207,6 +207,10 @@ The supported processor features are:
@code{ARCH_CAPABILITIES} -- IA32_ARCH_CAPABILITIES MSR.
@item
+@code{ArchPerfmonExt} -- Architectural Performance Monitoring Extended
+Leaf (EAX = 23H).
+
+@item
@code{AVX} -- The AVX instruction extensions.
@item
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);