GCC: fix type passed to vcvt_f32_f16 to be a float16x4_t in SkVx.h

GCC intrisics type validation is stricter than the one in Clang, so
passing a uint16x4_t to a function expected to accept float16x4_t
is not valid.

Bug: chromium:819294
Change-Id: I6d68e5458345e78bdb05dd028481fe9cae36c5ff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307276
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
diff --git a/include/private/SkVx.h b/include/private/SkVx.h
index e8440d4..4e2b59d 100644
--- a/include/private/SkVx.h
+++ b/include/private/SkVx.h
@@ -534,7 +534,7 @@
 #endif
 #if defined(__aarch64__)
     if /*constexpr*/ (N == 4) {
-        return unchecked_bit_pun<Vec<N,float>>(vcvt_f32_f16(unchecked_bit_pun<uint16x4_t>(x)));
+        return unchecked_bit_pun<Vec<N,float>>(vcvt_f32_f16(unchecked_bit_pun<float16x4_t>(x)));
     }
 #endif
     if /*constexpr*/ (N > 4) {