标签: assembly x86-64 simd avx
我无法弄清楚如何将长演类型转换为双精度。我正在尝试读取长整数并在AVX寄存器的计算中使用它。但是,我无法弄清楚如何将long int转换为在AVX寄存器中使用的双精度浮点数。
如何获取long int并将其转换为双精度浮点数?
答案 0 :(得分:4)
如果您只使用1-100之间的值,则4字节int足够大:
int
; double x = (double)n cvtsi2sd xmm0,dword ptr [n] movsd mmword ptr [x],xmm0