Add work-around for ICC 18.0/.1
authorRoland Schulz <roland.schulz@intel.com>
Tue, 12 Dec 2017 19:17:16 +0000 (11:17 -0800)
committerRoland Schulz <roland.schulz@intel.com>
Tue, 12 Dec 2017 19:19:16 +0000 (11:19 -0800)
Also remove old work-around for unsupported version.

Change-Id: I927749b55f76b30b7d9140f84fa6216c725b5852

src/gromacs/mdlib/perf_est.cpp
src/gromacs/simd/tests/simd_floatingpoint_util.cpp

index ea4549eaf2b01a61f1d18e14f195952eea28f93c..6888f3b0bc8876bf1f59823f2a53a3d4bb0dec92 100644 (file)
@@ -211,9 +211,6 @@ void count_bonded_distances(const gmx_mtop_t *mtop, const t_inputrec *ir,
      */
     ndtot_c    = 0;
     ndtot_simd = 0;
-#if defined _ICC && __ICC == 1400 || defined __ICL && __ICL == 1400
-#pragma novector /* Work-around for incorrect vectorization */
-#endif
     for (mb = 0; mb < mtop->nmolblock; mb++)
     {
         molt = &mtop->moltype[mtop->molblock[mb].type];
index 08ecf7402f40727e4148565b8123c92868ae146b..78338938a1b6b4caab7b823fb295f626a69da8a2 100644 (file)
@@ -928,6 +928,9 @@ TEST_F(SimdFloatingpointUtilTest, loadUNDuplicate4)
     real            data[GMX_SIMD_REAL_WIDTH/4];
     std::iota(data, data+GMX_SIMD_REAL_WIDTH/4, 1);
 
+#if defined _ICC && __ICC == 1800 || defined __ICL && __ICL == 1800
+#pragma novector /* Work-around for incorrect vectorization for AVX_512(_KNL) */
+#endif
     for (i = 0; i < GMX_SIMD_REAL_WIDTH / 4; i++)
     {
         val0_[i*4] = val0_[i*4+1] = val0_[i*4+2] = val0_[i*4+3] = data[i];