fix GCC arm64 builds

These two guards are checking if we're building for aarch64 and thus
have F16 conversion instructions, but weren't checking if we want to use
them (if we have them _and_ we're being compiled by Clang).  At head
we're trying to pass a 2-byte uint16_t to a function expecting an 8-byte
uint16x4_t, etc.

Change-Id: I21f6cd2100ec81ccdd47c4ec0575107624cd7c5a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225257
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This commit is contained in:
Mike Klein 2019-07-02 13:23:06 -05:00 committed by Skia Commit-Bot
parent 17cb3ae1ca
commit 7aacb0b30a

View File

@ -972,7 +972,8 @@ SI F approx_powf(F x, F y) {
} }
SI F from_half(U16 h) { SI F from_half(U16 h) {
#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. #if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \
&& !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
return vcvt_f32_f16(h); return vcvt_f32_f16(h);
#elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)
@ -992,7 +993,8 @@ SI F from_half(U16 h) {
} }
SI U16 to_half(F f) { SI U16 to_half(F f) {
#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. #if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \
&& !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
return vcvt_f16_f32(f); return vcvt_f16_f32(f);
#elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)