Fixed GB interactions for release-4-6
[alexxy/gromacs.git] / src / gmxlib / nonbonded / nb_kernel_sse4_1_double / nb_kernel_ElecGB_VdwLJ_GeomP1P1_sse4_1_double.c
index 48251a8ea484280320161397e1f66967e9d8b5d6..75a8a9a8d24e699d9e3c5832964d5f73e34022f4 100644 (file)
@@ -336,6 +336,7 @@ nb_kernel_ElecGB_VdwLJ_GeomP1P1_VF_sse4_1_double
             FF               = _mm_add_pd(Fp,_mm_mul_pd(gbeps,_mm_add_pd(G,_mm_add_pd(Heps,Heps))));
             fgb              = _mm_mul_pd(gbqqfactor,_mm_mul_pd(FF,gbscale));
             dvdatmp          = _mm_mul_pd(minushalf,_mm_add_pd(vgb,_mm_mul_pd(fgb,r00)));
+            dvdatmp          = _mm_unpacklo_pd(dvdatmp,_mm_setzero_pd());
             dvdasum          = _mm_add_pd(dvdasum,dvdatmp);
             gmx_mm_increment_1real_pd(dvda+jnrA,_mm_mul_pd(dvdatmp,_mm_mul_pd(isaj0,isaj0)));
             velec            = _mm_mul_pd(qq00,rinv00);
@@ -677,6 +678,7 @@ nb_kernel_ElecGB_VdwLJ_GeomP1P1_F_sse4_1_double
             FF               = _mm_add_pd(Fp,_mm_mul_pd(gbeps,_mm_add_pd(G,_mm_add_pd(Heps,Heps))));
             fgb              = _mm_mul_pd(gbqqfactor,_mm_mul_pd(FF,gbscale));
             dvdatmp          = _mm_mul_pd(minushalf,_mm_add_pd(vgb,_mm_mul_pd(fgb,r00)));
+            dvdatmp          = _mm_unpacklo_pd(dvdatmp,_mm_setzero_pd());
             dvdasum          = _mm_add_pd(dvdasum,dvdatmp);
             gmx_mm_increment_1real_pd(dvda+jnrA,_mm_mul_pd(dvdatmp,_mm_mul_pd(isaj0,isaj0)));
             velec            = _mm_mul_pd(qq00,rinv00);