summaryrefslogtreecommitdiff
path: root/vpx_ports/arm_cpudetect.c
diff options
context:
space:
mode:
authorFritz Koenig <frkoenig@google.com>2012-01-19 15:18:31 -0800
committerFritz Koenig <frkoenig@google.com>2012-01-20 10:38:15 -0800
commit892102842a7bfd5dc8f37ed4c69c3d68e1293df4 (patch)
treefcf90d3b86eae619199a80c0d8f2e161937f75a4 /vpx_ports/arm_cpudetect.c
parentac97b089d1000848f350480ec355b90e4f1f4ef7 (diff)
downloadlibvpx-892102842a7bfd5dc8f37ed4c69c3d68e1293df4.tar
libvpx-892102842a7bfd5dc8f37ed4c69c3d68e1293df4.tar.gz
libvpx-892102842a7bfd5dc8f37ed4c69c3d68e1293df4.tar.bz2
libvpx-892102842a7bfd5dc8f37ed4c69c3d68e1293df4.zip
Disconnect ARM tgt_isa from dsp extensions
A processor with ARMv7 instructions does not necessarily have NEON dsp extensions. This CL has the added side effect of allowing the ability to enable/disable the dsp extensions cleanly. Change-Id: Ie1e879b8fe131885bc3d4138a0acc9ffe73a36df
Diffstat (limited to 'vpx_ports/arm_cpudetect.c')
-rw-r--r--vpx_ports/arm_cpudetect.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/vpx_ports/arm_cpudetect.c b/vpx_ports/arm_cpudetect.c
index 08496e4d0..ebe428df3 100644
--- a/vpx_ports/arm_cpudetect.c
+++ b/vpx_ports/arm_cpudetect.c
@@ -52,7 +52,7 @@ int arm_cpu_caps(void)
* instructions via their assembled hex code.
* All of these instructions should be essentially nops.
*/
-#if defined(HAVE_ARMV5TE)
+#if defined(HAVE_EDSP)
if (mask & HAS_EDSP)
{
__try
@@ -66,7 +66,7 @@ int arm_cpu_caps(void)
/*Ignore exception.*/
}
}
-#if defined(HAVE_ARMV6)
+#if defined(HAVE_MEDIA)
if (mask & HAS_MEDIA)
__try
{
@@ -79,7 +79,7 @@ int arm_cpu_caps(void)
/*Ignore exception.*/
}
}
-#if defined(HAVE_ARMV7)
+#if defined(HAVE_NEON)
if (mask & HAS_NEON)
{
__try
@@ -115,13 +115,13 @@ int arm_cpu_caps(void)
mask = arm_cpu_env_mask();
features = android_getCpuFeatures();
-#if defined(HAVE_ARMV5TE)
+#if defined(HAVE_EDSP)
flags |= HAS_EDSP;
#endif
-#if defined(HAVE_ARMV6)
+#if defined(HAVE_MEDIA)
flags |= HAS_MEDIA;
#endif
-#if defined(HAVE_ARMV7)
+#if defined(HAVE_NEON)
if (features & ANDROID_CPU_ARM_FEATURE_NEON)
flags |= HAS_NEON;
#endif
@@ -153,17 +153,17 @@ int arm_cpu_caps(void)
char buf[512];
while (fgets(buf, 511, fin) != NULL)
{
-#if defined(HAVE_ARMV5TE) || defined(HAVE_ARMV7)
+#if defined(HAVE_EDSP) || defined(HAVE_NEON)
if (memcmp(buf, "Features", 8) == 0)
{
char *p;
-#if defined(HAVE_ARMV5TE)
+#if defined(HAVE_EDSP)
p=strstr(buf, " edsp");
if (p != NULL && (p[5] == ' ' || p[5] == '\n'))
{
flags |= HAS_EDSP;
}
-#if defined(HAVE_ARMV7)
+#if defined(HAVE_NEON)
p = strstr(buf, " neon");
if (p != NULL && (p[5] == ' ' || p[5] == '\n'))
{
@@ -173,7 +173,7 @@ int arm_cpu_caps(void)
#endif
}
#endif
-#if defined(HAVE_ARMV6)
+#if defined(HAVE_MEDIA)
if (memcmp(buf, "CPU architecture:",17) == 0){
int version;
version = atoi(buf+17);
@@ -200,13 +200,13 @@ int arm_cpu_caps(void)
return flags;
}
mask = arm_cpu_env_mask();
-#if defined(HAVE_ARMV5TE)
+#if defined(HAVE_EDSP)
flags |= HAS_EDSP;
#endif
-#if defined(HAVE_ARMV6)
+#if defined(HAVE_MEDIA)
flags |= HAS_MEDIA;
#endif
-#if defined(HAVE_ARMV7)
+#if defined(HAVE_NEON)
flags |= HAS_NEON;
#endif
return flags & mask;