Disable float16 packet casting if native AVX512 f16 is available.
diff --git a/Eigen/src/Core/arch/AVX512/TypeCasting.h b/Eigen/src/Core/arch/AVX512/TypeCasting.h index 56a94f4..ccdb563 100644 --- a/Eigen/src/Core/arch/AVX512/TypeCasting.h +++ b/Eigen/src/Core/arch/AVX512/TypeCasting.h
@@ -37,10 +37,12 @@ template <> struct type_casting_traits<int, double> : vectorized_type_casting_traits<int, double> {}; +#ifndef EIGEN_VECTORIZE_AVX512FP16 template <> struct type_casting_traits<half, float> : vectorized_type_casting_traits<half, float> {}; template <> struct type_casting_traits<float, half> : vectorized_type_casting_traits<float, half> {}; +#endif template <> struct type_casting_traits<bfloat16, float> : vectorized_type_casting_traits<bfloat16, float> {};