I have an application created using VC++, and wanted to explore optimization opprtunity by vectorizing some operations.

To begin with, I am trying 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, I am getting unhandled exception or illegal operation error when \_mm\_mul\_epi32 is executed, I have no clue why it occurs.
Can someone please tell what is wrong?