1 /* 2 * Copyright 2014 ARM Ltd. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #include "SkUtils.h" 9 #include "SkUtilsArm.h" 10 11 void sk_memset16_neon(uint16_t dst[], uint16_t value, int count); 12 void sk_memset32_neon(uint32_t dst[], uint32_t value, int count); 13 14 SkMemset16Proc SkMemset16GetPlatformProc() { 15 #if SK_ARM_NEON_IS_ALWAYS 16 return sk_memset16_neon; 17 #elif SK_ARM_NEON_IS_DYNAMIC 18 return sk_cpu_arm_has_neon() ? sk_memset16_neon : nullptr; 19 #else 20 return nullptr; 21 #endif 22 } 23 24 SkMemset32Proc SkMemset32GetPlatformProc() { 25 #if SK_ARM_NEON_IS_ALWAYS 26 return sk_memset32_neon; 27 #elif SK_ARM_NEON_IS_DYNAMIC 28 return sk_cpu_arm_has_neon() ? sk_memset32_neon : nullptr; 29 #else 30 return nullptr; 31 #endif 32 } 33 34 SkMemcpy32Proc SkMemcpy32GetPlatformProc() { 35 return NULL; 36 } 37