I have an application using VC ++, and in some tasks vectoring wanted to find optimization opprtunity.
To start with, I am trying to get the following code:
__ 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); However, when I have executed _mm_mul_epi32, I am getting an unrestricted exception or invalid operation error; I have no indication why this happens, can someone please tell me? What is wrong? PMULDQ
class = "text"> itemprop = "text"> _mm_mul_epi32 map, Available only in SSE4 and AVX. For the SSE4 or AVX, you definitely need an Intel CPU recently, e.g. NEHEMMEM, Sandy Bridge (Core i5, i7). Note that you may find it easier and easier to use the interface to start the SIMD vectors, e.g.
__M 128i page 1 = _mm_set_epi32 (1, 2, 3, 4); __m128i p2 = _mm_set_epi32 (1, 2, 3, 4); __m128i res2 = _mm_mul_epi32 (P1, P2);
Comments
Post a Comment