diff options
-rw-r--r-- | src/opts/opts_check_arm.cpp | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/src/opts/opts_check_arm.cpp b/src/opts/opts_check_arm.cpp index 9d87b23a14..20ec8a13f6 100644 --- a/src/opts/opts_check_arm.cpp +++ b/src/opts/opts_check_arm.cpp @@ -15,40 +15,32 @@ #include "SkUtils.h" +#if defined(__ARM_HAVE_NEON) && defined(SK_CPU_LENDIAN) extern "C" void memset16_neon(uint16_t dst[], uint16_t value, int count); extern "C" void memset32_neon(uint32_t dst[], uint32_t value, int count); +#endif +#if defined(SK_CPU_LENDIAN) extern "C" void arm_memset16(uint16_t* dst, uint16_t value, int count); extern "C" void arm_memset32(uint32_t* dst, uint32_t value, int count); - -static inline bool hasNeonRegisters() { -#if defined(__ARM_HAVE_NEON) && defined(SK_CPU_LENDIAN) - return true; -#else - return false; #endif -} SkMemset16Proc SkMemset16GetPlatformProc() { - if (hasNeonRegisters()) { - return memset16_neon; - } else { -#if defined(SK_CPU_LENDIAN) - return arm_memset16; +#if defined(__ARM_HAVE_NEON) && defined(SK_CPU_LENDIAN) + return memset16_neon; +#elif defined(SK_CPU_LENDIAN) + return arm_memset16; #else - return NULL; + return NULL; #endif - } } SkMemset32Proc SkMemset32GetPlatformProc() { - if (hasNeonRegisters()) { - return memset32_neon; - } else { -#if defined(SK_CPU_LENDIAN) - return arm_memset32; +#if defined(__ARM_HAVE_NEON) && defined(SK_CPU_LENDIAN) + return memset32_neon; +#elif defined(SK_CPU_LENDIAN) + return arm_memset32; #else - return NULL; + return NULL; #endif - } } |