Change use of removed intrinsic A recent LLVM change removed the __builtin_ia32_vcvtph2ps256 intrinsic because it can be implemented using __builtin_shufflevector and/or __builtin_convertvector. This CL changes skia to use convertvector as to match. Bug: chromium:438445382 Change-Id: I2ed16cd507d7feeafba4c082b3840cbdd6368dd9 Reviewed-on: https://skia-review.googlesource.com/c/skcms/+/1038217 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com> Auto-Submit: Devon Loehr <dloehr@google.com>
diff --git a/src/Transform_inl.h b/src/Transform_inl.h index bc10e7d..99faf25 100644 --- a/src/Transform_inl.h +++ b/src/Transform_inl.h
@@ -156,8 +156,8 @@ #elif defined(USING_AVX512F) return (F)_mm512_cvtph_ps((__m256i)half); #elif defined(USING_AVX_F16C) - typedef int16_t __attribute__((vector_size(16))) I16; - return __builtin_ia32_vcvtph2ps256((I16)half); + typedef _Float16 __attribute__((vector_size(16))) F16; + return __builtin_convertvector((F16)half, F); #else U32 wide = cast<U32>(half); // A half is 1-5-10 sign-exponent-mantissa, with 15 exponent bias.