【发布时间】:2011-03-27 20:50:55
【问题描述】:
我有一个使用 VC++ 创建的应用程序,想通过向量化一些操作来探索优化机会。
首先,我正在尝试以下代码:
__m128i p1;
p1.m128i_u32[0] = 1;
p1.m128i_u32[1] = 2;
p1.m128i_u32[2] = 3;
p1.m128i_u32[3] = 4;
__m128i p2;
p2.m128i_u32[0] = 1;
p2.m128i_u32[1] = 2;
p2.m128i_u32[2] = 3;
p2.m128i_u32[3] = 4;
__m128i res2= _mm_mul_epi32(p1,p2);
但是,当 _mm_mul_epi32 执行时,我得到未处理的异常或非法操作错误,我不知道为什么会发生。 有人可以告诉我出了什么问题吗?
【问题讨论】:
-
尝试使用 MSDN 页面上示例中使用的值,而不是 1、2、3、4:msdn.microsoft.com/en-us/library/bb514039.aspx
-
一旦完成测试,您接受答案对我们来说很重要,好吗?谢谢。