Made reference SIMD work again
[alexxy/gromacs.git] / src / gromacs / mdlib / pme.c
index ad2ae70f42b876b86b145ee5d30fe39c3616e3ac..ff52b5b9fe3dbe54bb993ca21d64914bbfeaa0cd 100644 (file)
@@ -88,9 +88,9 @@
 
 /* Include the SIMD macro file and then check for support */
 #include "gromacs/simd/macros.h"
-#if defined GMX_HAVE_SIMD_MACROS && defined GMX_SIMD_HAVE_EXP
+#if defined GMX_HAVE_SIMD_MACROS
 /* Turn on arbitrary width SIMD intrinsics for PME solve */
-#define PME_SIMD
+#define PME_SIMD_SOLVE
 #endif
 
 #define PME_GRID_QA    0 /* Gridindex for A-state for Q */
@@ -1876,7 +1876,7 @@ static void realloc_work(pme_work_t *work, int nkx)
         /* Allocate an aligned pointer for SIMD operations, including extra
          * elements at the end for padding.
          */
-#ifdef PME_SIMD
+#ifdef PME_SIMD_SOLVE
         simd_width = GMX_SIMD_WIDTH_HERE;
 #else
         /* We can use any alignment, apart from 0, so we use 4 */
@@ -1909,7 +1909,7 @@ static void free_work(pme_work_t *work)
 }
 
 
-#ifdef PME_SIMD
+#if defined PME_SIMD_SOLVE && defined GMX_SIMD_HAVE_EXP
 /* Calculate exponentials through SIMD */
 inline static void calc_exponentials_q(int gmx_unused start, int end, real f, real *d_aligned, real *r_aligned, real *e_aligned)
 {
@@ -1954,7 +1954,7 @@ inline static void calc_exponentials_q(int start, int end, real f, real *d, real
 }
 #endif
 
-#ifdef PME_SIMD
+#if defined PME_SIMD_SOLVE && defined GMX_SIMD_HAVE_ERFC
 /* Calculate exponentials through SIMD */
 inline static void calc_exponentials_lj(int gmx_unused start, int end, real *r_aligned, real *factor_aligned, real *d_aligned)
 {