elvman

Untitled

Nov 3rd, 2016
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.65 KB | None | 0 0
  1.         __m128 vectorV1 = _mm_loadu_ps(v1);
  2.         __m128 vectorV2 = _mm_loadu_ps(v2);
  3.  
  4.         __m128 col1 = _mm_shuffle_ps(vectorV1, vectorV1, _MM_SHUFFLE(3, 3, 1, 1));
  5.         __m128 col2 = _mm_shuffle_ps(vectorV2, vectorV2, _MM_SHUFFLE(3, 2, 3, 2));
  6.  
  7.         __m128 col3 = _mm_shuffle_ps(vectorV1, vectorV1, _MM_SHUFFLE(2, 2, 0, 0));
  8.         __m128 col4 = _mm_shuffle_ps(vectorV2, vectorV2, _MM_SHUFFLE(1, 0, 1, 0));
  9.  
  10.         __m128 vectorResult1 = _mm_mul_ss(col1, col2);
  11.         __m128 vectorResult2 = _mm_mul_ss(col3, col4);
  12.         __m128 vectorResult = _mm_add_ps(vectorResult1, vectorResult2);
  13.  
  14.         _mm_storeu_ps(result, vectorResult);
Add Comment
Please, Sign In to add comment