求救: 未处理的异常: 0xC000001D: Illegal Instruction 如何解决
// _mm_alignr_epi8
#include <stdio.h>
#include <tmmintrin.h>
int main () {
__m128i a, b;
a.m128i_u32[3] = 0x01234567;
a.m128i_u32[2] = 0x89ABDCEF;
a.m128i_u32[1] = 0x01234567;
a.m128i_u32[0] = 0x89ABCDEF;
b.m128i_u32[3] = 0xFFFFEEEE;
b.m128i_u32[2] = 0xDDDDCCCC;
b.m128i_u32[1] = 0xBBBBAAAA;
b.m128i_u32[0] = 0x99998888;
// A right align value of four should remove the lowest 4 bytes of "b"
__m128i res = _mm_alignr_epi8( a, b, 4 ); // 错误就在此
printf_s("Original a: 0x%016I64x%016I64x\nOriginal b: 0x%016I64x%016I64x\n",
a.m128i_u64[1], a.m128i_u64[0],
b.m128i_u64[1], b.m128i_u64[0]);
printf_s("Result res: 0x%016I64x%016I64x\n",
res.m128i_u64[1], res.m128i_u64[0]);
return 0;
}
生成解决方案后,执行时出现异常中断,为何?如何解决?
[解决办法]
有源码就调试进此函数在找原因?
没有源码?检查一下是否你的输入不符合此函数的要求。
[解决办法]
汇编指令集?还没学表示看不懂的说...
http://blog.donews.com/xzwenlan/archive/category/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86%E6%8A%80%E6%9C%AF/page/3
这个去瞅瞅.
[解决办法]
说明cpu不支持SSSE3……