diff options
author | Fritz Koenig <frkoenig@google.com> | 2012-01-19 15:18:31 -0800 |
---|---|---|
committer | Fritz Koenig <frkoenig@google.com> | 2012-01-20 10:38:15 -0800 |
commit | 892102842a7bfd5dc8f37ed4c69c3d68e1293df4 (patch) | |
tree | fcf90d3b86eae619199a80c0d8f2e161937f75a4 /vpx_ports/arm_cpudetect.c | |
parent | ac97b089d1000848f350480ec355b90e4f1f4ef7 (diff) | |
download | libvpx-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.c | 26 |
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; |