我目前正在尝试将__m512d值与__m512i值相乘。 __m512d的值为ln(2),因此结果保存在另一个__m512d变量中。
但是,我找不到在avx512中将 double 数与整数相乘的任何内在函数。
当我在_mm512_castsi512_pd上使用__m512i内在函数时,我得到了一个错误的值,因此我猜想内在函数也没有太大帮助。
我很高兴获得任何帮助或解决方法。
提前致谢。

最佳答案

感谢@Peter Cordes指出了有关转换和转换之间差异的错误。
以下代码允许乘法:

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

09-06 03:12