我正在尝试使用SSE内部函数优化我的代码。在浏览完文档之后,我发现SSE中有浮点变量的__m128
数据类型,能够存储4个浮点数。 SSE2中有__m128d
只能存储2个浮点数吗?这些变量有什么区别?不是SSE2应该比SSE更快吗?
答案 0 :(得分:6)
SSE指令使用128位寄存器。
A float
使用4个字节= 32位 - >因此你可以存储4个浮点数(4 * 32 = 128),这些是__m128
。
double
使用8个字节= 64位 - >因此你可以存储2个双打(2 * 64 = 128),这些是__m128d
。
- >更多信息https://felix.abecassis.me/2011/09/cpp-getting-started-with-sse/