这个错误可能是因为向量单元大小的问题,可以通过在编译选项中添加-mvectorsize=8来解决,具体方式如下:
add_library(mylib SHARED mylib.cpp -mvectorsize=8)
示例代码:
#include
__m64 add_m64(__m64 a, __m64 b) { return _m_add_pi64(a, b); }
int main() { __m64 ma = _m_from_int64(123); __m64 mb = _m_from_int64(-456); __m64 mc = add_m64(ma, mb); int* p = (int*)&mc; printf("%d %d\n", p[0], p[1]); }
注意:这里的示例代码仅用于演示向量类型的用法,具体应用中需要根据需求进行修改和调整。