我同时使用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 ]);
所以问题是float
和int
从内存加载需要(type *)
的差异是什么?