Fix shift usage for KNC
authorRoland Schulz <roland.schulz@intel.com>
Tue, 12 Dec 2017 05:46:37 +0000 (21:46 -0800)
committerRoland Schulz <roland.schulz@intel.com>
Tue, 12 Dec 2017 05:46:37 +0000 (21:46 -0800)
9437181eacb removed the shift operator without
replacing the usage for KNC.

Change-Id: Ia5600c02d423cbb6cbaf730f7531f13bfe171132

src/gromacs/simd/impl_x86_mic/impl_x86_mic_util_double.h
src/gromacs/simd/impl_x86_mic/impl_x86_mic_util_float.h

index fe93fdbdea31dee8abb12373455cbe0b450ced9e..62e072071fb900490c85897708e019ecd40bd3ed 100644 (file)
@@ -70,11 +70,11 @@ gatherLoadBySimdIntTranspose(const double *  base,
     // but multiplication otherwise.
     if (align == 4)
     {
-        simdoffset = simdoffset << 2;
+        simdoffset.simdInternal_ = _mm512_slli_epi32(simdoffset.simdInternal_, 2);
     }
     else if (align == 8)
     {
-        simdoffset = simdoffset << 3;
+        simdoffset.simdInternal_ = _mm512_slli_epi32(simdoffset.simdInternal_, 3);
     }
     else
     {
@@ -99,15 +99,15 @@ gatherLoadUBySimdIntTranspose(const double *  base,
     // but multiplication otherwise.
     if (align == 2)
     {
-        simdoffset = simdoffset << 1;
+        simdoffset.simdInternal_ = _mm512_slli_epi32(simdoffset.simdInternal_, 1);
     }
     else if (align == 4)
     {
-        simdoffset = simdoffset << 2;
+        simdoffset.simdInternal_ = _mm512_slli_epi32(simdoffset.simdInternal_, 2);
     }
     else if (align == 8)
     {
-        simdoffset = simdoffset << 3;
+        simdoffset.simdInternal_ = _mm512_slli_epi32(simdoffset.simdInternal_, 3);
     }
     else
     {
@@ -176,11 +176,11 @@ gatherLoadUTranspose(const double *        base,
     // but multiplication otherwise.
     if (align == 4)
     {
-        simdoffset = simdoffset << 2;
+        simdoffset.simdInternal_ = _mm512_slli_epi32(simdoffset.simdInternal_, 2);
     }
     else if (align == 8)
     {
-        simdoffset = simdoffset << 3;
+        simdoffset.simdInternal_ = _mm512_slli_epi32(simdoffset.simdInternal_, 3);
     }
     else
     {
@@ -211,11 +211,11 @@ transposeScatterStoreU(double *            base,
     // but multiplication otherwise.
     if (align == 4)
     {
-        simdoffset = simdoffset << 2;
+        simdoffset.simdInternal_ = _mm512_slli_epi32(simdoffset.simdInternal_, 2);
     }
     else if (align == 8)
     {
-        simdoffset = simdoffset << 3;
+        simdoffset.simdInternal_ = _mm512_slli_epi32(simdoffset.simdInternal_, 3);
     }
     else
     {
index ad68228dd1dbee3e77618d0b519ad421c67b89e1..48b2a9f6638b73a9ca6ec0d8b47a42889bca1ee2 100644 (file)
@@ -70,11 +70,11 @@ gatherLoadBySimdIntTranspose(const float *  base,
     // but multiplication otherwise.
     if (align == 4)
     {
-        simdoffset = simdoffset << 2;
+        simdoffset.simdInternal_ = _mm512_slli_epi32(simdoffset.simdInternal_, 2);
     }
     else if (align == 8)
     {
-        simdoffset = simdoffset << 3;
+        simdoffset.simdInternal_ = _mm512_slli_epi32(simdoffset.simdInternal_, 3);
     }
     else
     {
@@ -108,11 +108,11 @@ gatherLoadUBySimdIntTranspose(const float *  base,
     {
         if (align == 4)
         {
-            simdoffset = simdoffset << 2;
+            simdoffset.simdInternal_ = _mm512_slli_epi32(simdoffset.simdInternal_, 2);
         }
         else if (align == 8)
         {
-            simdoffset = simdoffset << 3;
+            simdoffset.simdInternal_ = _mm512_slli_epi32(simdoffset.simdInternal_, 3);
         }
         else
         {
@@ -178,11 +178,11 @@ gatherLoadUTranspose(const float *        base,
     // but multiplication otherwise.
     if (align == 4)
     {
-        simdoffset = simdoffset << 2;
+        simdoffset.simdInternal_ = _mm512_slli_epi32(simdoffset.simdInternal_, 2);
     }
     else if (align == 8)
     {
-        simdoffset = simdoffset << 3;
+        simdoffset.simdInternal_ = _mm512_slli_epi32(simdoffset.simdInternal_, 3);
     }
     else
     {
@@ -214,11 +214,11 @@ transposeScatterStoreU(float *              base,
     // but multiplication otherwise.
     if (align == 4)
     {
-        simdoffset = simdoffset << 2;
+        simdoffset.simdInternal_ = _mm512_slli_epi32(simdoffset.simdInternal_, 2);
     }
     else if (align == 8)
     {
-        simdoffset = simdoffset << 3;
+        simdoffset.simdInternal_ = _mm512_slli_epi32(simdoffset.simdInternal_, 3);
     }
     else
     {