Merge release-4-6 into master
[alexxy/gromacs.git] / src / gromacs / legacyheaders / gmx_x86_sse4_1.h
index 75e61e1bd9e24b7b0a76997b3a91fff78c2aa7b5..d8baf0988672fbed649a58072dd329704280d13c 100644 (file)
@@ -33,7 +33,7 @@
  */
 
 
-#define gmx_mm_extract_epi32(x, imm) _mm_cvtsi128_si32(_mm_srli_si128((x), 4 * (imm)))
+#define gmx_mm_extract_epi32(x, imm) _mm_extract_epi32((x),(imm))
 
 #define GMX_MM_TRANSPOSE2_PD(row0, row1) {           \
     __m128d __gmx_t1 = row0;                         \
@@ -41,6 +41,7 @@
     row1           = _mm_unpackhi_pd(__gmx_t1,row1); \
 }
 
+#define _GMX_MM_BLEND(b3,b2,b1,b0) (((b3) << 3) | ((b2) << 2) | ((b1) << 1) | ((b0)))
 
 #if (defined (_MSC_VER) || defined(__INTEL_COMPILER))
 #  define gmx_mm_castsi128_ps(a) _mm_castsi128_ps(a)