This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]