为什么使用intel intrinsics需要(__ m128 *)和(__ m256 *)的SSE2和AVX2的内存访问指令?

时间:2016-05-03 05:29:57

标签: memory memory-management x86 simd intrinsics

我同时使用SSEx和AVXx内在函数指令。当我使用英特尔SSE2或AVX2并想要从内存加载向量时,我应该使用以下指令(数据类型为int):

_mm_load_si128( (__m128i *)&a[ i ][ j ]);
_mm256_load_si256( (__m256i *)&a[ i ][ j ]);

当数据类型为float时,我应该使用如下:

_mm_load_ps(&a[ i ][ j ]);
_mm256_load_ps(&a[ i ][ j ]);

所以问题是floatint从内存加载需要(type *)的差异是什么?

0 个答案:

没有答案