diff options
author | 2015-03-20 08:32:35 -0700 | |
---|---|---|
committer | 2015-03-20 08:32:35 -0700 | |
commit | e57b5cab261a243dcbefa74c91c896c28959bf09 (patch) | |
tree | fce6d132eda7a1697bc3950f67365c8d2803dd24 /include/core/SkPreConfig.h | |
parent | b502ee3acea9bca87ab75de808b4a7eda67aadff (diff) |
Specialize Sk2d for ARM64
The implementation is nearly identical to Sk2f, with these changes:
- float32x2_t -> float64x2_t
- vfoo -> vfooq
- one extra Newton's method step in sqrt().
Also, generally fix NEON detection to be defined(SK_ARM_HAS_NEON).
SK_ARM_HAS_NEON is not being set on ARM64 bots right now (nor does the compiler
seem to set __ARM_NEON__), so this CL fixes everything up.
BUG=skia:
Review URL: https://codereview.chromium.org/1020963002
Diffstat (limited to 'include/core/SkPreConfig.h')
-rw-r--r-- | include/core/SkPreConfig.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/core/SkPreConfig.h b/include/core/SkPreConfig.h index c7331113dc..1edbd64576 100644 --- a/include/core/SkPreConfig.h +++ b/include/core/SkPreConfig.h @@ -197,6 +197,11 @@ #define SK_CPU_ARM64 #endif +// All 64-bit ARM chips have NEON. Many 32-bit ARM chips do too. +#if !defined(SK_ARM_HAS_NEON) && (defined(SK_CPU_ARM64) || defined(__ARM_NEON__)) + #define SK_ARM_HAS_NEON +#endif + ////////////////////////////////////////////////////////////////////// #if !defined(SKIA_IMPLEMENTATION) |