diff options
author | Wilco Dijkstra <wilco.dijkstra@arm.com> | 2023-10-17 16:54:21 +0100 |
---|---|---|
committer | Wilco Dijkstra <wilco.dijkstra@arm.com> | 2023-10-24 13:37:48 +0100 |
commit | 2bd00179885928fd95fcabfafc50e7b5c6e660d2 (patch) | |
tree | 0eb3165f11ebd3f4aacfbeabf06c1e4ed684d000 /sysdeps/unix | |
parent | 2f1c6652d7b339526cfebc87c64c6f130cabc9ba (diff) | |
download | glibc-2bd00179885928fd95fcabfafc50e7b5c6e660d2.zip glibc-2bd00179885928fd95fcabfafc50e7b5c6e660d2.tar.gz glibc-2bd00179885928fd95fcabfafc50e7b5c6e660d2.tar.bz2 |
AArch64: Add support for MOPS memcpy/memmove/memset
Add support for MOPS in cpu_features and INIT_ARCH. Add ifuncs using MOPS for
memcpy, memmove and memset (use .inst for now so it works with all binutils
versions without needing complex configure and conditional compilation).
Reviewed-by: Szabolcs Nagy <szabolcs.nagy@arm.com>
Diffstat (limited to 'sysdeps/unix')
-rw-r--r-- | sysdeps/unix/sysv/linux/aarch64/cpu-features.c | 3 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/aarch64/cpu-features.h | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/aarch64/cpu-features.c b/sysdeps/unix/sysv/linux/aarch64/cpu-features.c index dc09c1c..233d5b2 100644 --- a/sysdeps/unix/sysv/linux/aarch64/cpu-features.c +++ b/sysdeps/unix/sysv/linux/aarch64/cpu-features.c @@ -120,4 +120,7 @@ init_cpu_features (struct cpu_features *cpu_features) /* Check if SVE is supported. */ cpu_features->sve = GLRO (dl_hwcap) & HWCAP_SVE; + + /* Check if MOPS is supported. */ + cpu_features->mops = GLRO (dl_hwcap2) & HWCAP2_MOPS; } diff --git a/sysdeps/unix/sysv/linux/aarch64/cpu-features.h b/sysdeps/unix/sysv/linux/aarch64/cpu-features.h index d67d286..40b7096 100644 --- a/sysdeps/unix/sysv/linux/aarch64/cpu-features.h +++ b/sysdeps/unix/sysv/linux/aarch64/cpu-features.h @@ -76,6 +76,7 @@ struct cpu_features /* Currently, the GLIBC memory tagging tunable only defines 8 bits. */ uint8_t mte_state; bool sve; + bool mops; }; #endif /* _CPU_FEATURES_AARCH64_H */ |