This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
[PATCH] ARM: Align hwcap names and definitions with kernel, Make VFP and NEON as HWCAP_IMPORTANT
- From: Alexander Kanevskiy <kad at kad dot name>
- To: libc-ports at sourceware dot org
- Date: Tue, 10 Aug 2010 23:24:45 +0300
- Subject: [PATCH] ARM: Align hwcap names and definitions with kernel, Make VFP and NEON as HWCAP_IMPORTANT
- Align hwcap names with kernel (arch/arm/kernel/setup.c)
- Align HWCAP_ARM_* definitions with kernel
- Make VFP and NEON as HWCAP_IMPORTANT, this can help in scenarios
where VFP/NEON HW optimizations can be utilized.
--
sysdeps/unix/sysv/linux/arm/dl-procinfo.c | 6 +++---
sysdeps/unix/sysv/linux/arm/dl-procinfo.h | 4 ++--
sysdeps/unix/sysv/linux/arm/sysdep.h | 5 +++++
3 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/sysdeps/unix/sysv/linux/arm/dl-procinfo.c
b/sysdeps/unix/sysv/linux/arm/dl-procinfo.c
index 5c913f5..03e1511 100644
--- a/sysdeps/unix/sysv/linux/arm/dl-procinfo.c
+++ b/sysdeps/unix/sysv/linux/arm/dl-procinfo.c
@@ -47,12 +47,12 @@
#if !defined PROCINFO_DECL && defined SHARED
._dl_arm_cap_flags
#else
-PROCINFO_CLASS const char _dl_arm_cap_flags[10][10]
+PROCINFO_CLASS const char _dl_arm_cap_flags[15][10]
#endif
#ifndef PROCINFO_DECL
= {
- "swp", "half", "thumb", "26bit", "fast-mult", "fpa", "vfp", "edsp",
- "java", "iwmmxt",
+ "swp", "half", "thumb", "26bit", "fastmult", "fpa", "vfp", "edsp",
+ "java", "iwmmxt", "crunch", "thumbee", "neon", "vfpv3", "vfpv3d16",
}
#endif
#if !defined SHARED || defined PROCINFO_DECL
diff --git a/sysdeps/unix/sysv/linux/arm/dl-procinfo.h
b/sysdeps/unix/sysv/linux/arm/dl-procinfo.h
index 0c675c6..d3fc385 100644
--- a/sysdeps/unix/sysv/linux/arm/dl-procinfo.h
+++ b/sysdeps/unix/sysv/linux/arm/dl-procinfo.h
@@ -24,7 +24,7 @@
#include <ldsodefs.h>
#include <sysdep.h>
-#define _DL_HWCAP_COUNT 10
+#define _DL_HWCAP_COUNT 15
/* The kernel provides platform data but it is not interesting. */
#define _DL_HWCAP_PLATFORM 0
@@ -54,7 +54,7 @@ _dl_hwcap_string (int idx)
return GLRO(dl_arm_cap_flags)[idx];
};
-#define HWCAP_IMPORTANT (HWCAP_ARM_HALF | HWCAP_ARM_FAST_MULT)
+#define HWCAP_IMPORTANT (HWCAP_ARM_VFP | HWCAP_ARM_NEON)
static inline int
__attribute__ ((unused))
diff --git a/sysdeps/unix/sysv/linux/arm/sysdep.h
b/sysdeps/unix/sysv/linux/arm/sysdep.h
index bd5b2ce..e647d42 100644
--- a/sysdeps/unix/sysv/linux/arm/sysdep.h
+++ b/sysdeps/unix/sysv/linux/arm/sysdep.h
@@ -55,6 +55,11 @@
#define HWCAP_ARM_EDSP 128
#define HWCAP_ARM_JAVA 256
#define HWCAP_ARM_IWMMXT 512
+#define HWCAP_ARM_CRUNCH 1024
+#define HWCAP_ARM_THUMBEE 2048
+#define HWCAP_ARM_NEON 4096
+#define HWCAP_ARM_VFPv3 8192
+#define HWCAP_ARM_VFPv3D16 16384
#ifdef __ASSEMBLER__
--
1.7.2.1
--
br, Alexander Kanevskiy