aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/x86/cpu-features.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/x86/cpu-features.c')
-rw-r--r--sysdeps/x86/cpu-features.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c
index 33788ed..10fe2f3 100644
--- a/sysdeps/x86/cpu-features.c
+++ b/sysdeps/x86/cpu-features.c
@@ -18,6 +18,7 @@
#include <cpuid.h>
#include <cpu-features.h>
+#include <dl-hwcap.h>
static void
get_common_indeces (struct cpu_features *cpu_features,
@@ -302,4 +303,12 @@ no_cpuid:
cpu_features->family = family;
cpu_features->model = model;
cpu_features->kind = kind;
+
+ /* Reuse dl_hwcap and dl_hwcap_mask for x86. */
+ GLRO(dl_hwcap) = 0;
+ if (CPU_FEATURES_CPU_P (cpu_features, SSE2))
+ GLRO(dl_hwcap) |= HWCAP_X86_SSE2;
+ if (CPU_FEATURES_ARCH_P (cpu_features, AVX2_Usable))
+ GLRO(dl_hwcap) |= HWCAP_X86_AVX2;
+ GLRO(dl_hwcap_mask) = HWCAP_IMPORTANT;
}