I try to represent a __int16 array as a __m128i element.
Casting __m128i element to __int16 array works nicely.
My example code:
void example() {
   __m128i v = _mm_set_epi16(1, 2, 3, 4, 5, 6, 7, 8);
   __int16 *p_i = (__int16 *)&v; 
   for (int i = 0; i < 8; i++)
       std::cout <<p_i[i] << " "; // 8 7 6 5 4 3 2 1
   std::cout << "\n";
   __int16 i2[8] = {1, 2, 3, 4, 5, 6, 7, 8};
   __m128i *p_v2 = (__m128i *) i2;
   std::cout << __m128i_toString<__int16>(p_v2[0])<< "\n"; //error here
}
__m128i_toString<>() from this
What did I miss?
 
     
    