在 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));
我目前正在尝试将 __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));