在 AVX512 中乘以不同类型

Multiplying different types in AVX512

我目前正在尝试将 __m512d 值与 __m512i 值相乘。 __m512d 值为 ln(2),因此结果保存在另一个 __m512d 变量中。 但是,我无法在 avx512 中找到任何将双精度数与整数相乘的内在函数。 当我在 __m512i 上使用 _mm512_castsi512_pd intrinsic 时,我得到了一个错误的值,所以我猜 intrinsic 也没有太大帮助。

我很高兴能得到任何帮助或解决方法。 提前致谢。

感谢@Peter Cordes 指出关于转换和转换之间的区别的错误。 以下代码允许乘法:

__m512d a;
__m512i b;
_mm512_muld_pd(a,_mm512_cvtepi64_pd(b));