Fixed GB interactions for release-4-6
[alexxy/gromacs.git] / src / gmxlib / nonbonded / nb_kernel_avx_256_single / nb_kernel_ElecGB_VdwCSTab_GeomP1P1_avx_256_single.c
index 828620dde292d978e33b98a6782b47be07716003..1ac827fc3e43297d4be22fdbe835680930a685f5 100644 (file)
@@ -522,6 +522,7 @@ nb_kernel_ElecGB_VdwCSTab_GeomP1P1_VF_avx_256_single
             FF               = _mm256_add_ps(Fp,_mm256_mul_ps(gbeps,_mm256_add_ps(G,_mm256_add_ps(Heps,Heps))));
             fgb              = _mm256_mul_ps(gbqqfactor,_mm256_mul_ps(FF,gbscale));
             dvdatmp          = _mm256_mul_ps(minushalf,_mm256_add_ps(vgb,_mm256_mul_ps(fgb,r00)));
+            dvdatmp          = _mm256_andnot_ps(dummy_mask,dvdatmp);
             dvdasum          = _mm256_add_ps(dvdasum,dvdatmp);
             /* The pointers to scratch make sure that this code with compilers that take gmx_restrict seriously (e.g. icc 13) really can't screw things up. */
             fjptrA             = (jnrlistA>=0) ? dvda+jnrA : scratch;
@@ -1095,6 +1096,7 @@ nb_kernel_ElecGB_VdwCSTab_GeomP1P1_F_avx_256_single
             FF               = _mm256_add_ps(Fp,_mm256_mul_ps(gbeps,_mm256_add_ps(G,_mm256_add_ps(Heps,Heps))));
             fgb              = _mm256_mul_ps(gbqqfactor,_mm256_mul_ps(FF,gbscale));
             dvdatmp          = _mm256_mul_ps(minushalf,_mm256_add_ps(vgb,_mm256_mul_ps(fgb,r00)));
+            dvdatmp          = _mm256_andnot_ps(dummy_mask,dvdatmp);
             dvdasum          = _mm256_add_ps(dvdasum,dvdatmp);
             /* The pointers to scratch make sure that this code with compilers that take gmx_restrict seriously (e.g. icc 13) really can't screw things up. */
             fjptrA             = (jnrlistA>=0) ? dvda+jnrA : scratch;