From e6aefab2c9348ec9bfa59cbddf0745526ecfdf91 Mon Sep 17 00:00:00 2001 From: Erik Lindahl Date: Wed, 30 Jul 2014 15:06:50 +0200 Subject: [PATCH] K-computer specific modifications This commit implements most of the K-computer- specific changes for Gromacs-5.0. The HPC-ACE SIMD module has been added since we need the exponentials for LJPME, and there are also some fixes to the LJPME nonbonded accelerated group kernels that prevented them from compiling. The SIMD unit tests have been modified to avoid making assumptions about the internal storage being single or double, since HPC-ACE only supports double. The toolchain files have been updated and moved to the platform subdir, and we now have a separate module to handle Gromacs-specific flags and settings for K. Change-Id: I5b832809b5dd52ef4b72f6cd41b1b3da1c036a57 --- CMakeLists.txt | 35 +- .../Toolchain-Fujitsu-Sparc64-mpi.cmake | 20 +- .../Platform/Toolchain-Fujitsu-Sparc64.cmake | 53 +++ cmake/TestFujitsuSparc64.c | 8 + cmake/gmxCFlags.cmake | 13 + cmake/gmxDetectSimd.cmake | 4 + cmake/gmxDetectTargetArchitecture.cmake | 4 + ...64.cmake => gmxManageFujitsuSparc64.cmake} | 22 +- cmake/gmxTestSimd.cmake | 2 + docs/install-guide/install-guide.md | 23 +- .../kernelutil_sparc64_hpc_ace_double.h | 6 +- .../make_nb_kernel_sparc64_hpc_ace_double.py | 2 +- ...VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c | 10 +- ...VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c | 10 +- ...VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c | 4 +- ...VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c | 10 +- ...VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c | 4 +- ...ab_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c | 10 +- ...ab_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c | 10 +- ...ab_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c | 4 +- ...ab_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c | 10 +- ...ab_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomP1P1_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW3P1_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW3W3_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW4P1_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW4W4_sparc64_hpc_ace_double.c | 4 +- ...VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c | 10 +- ...VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c | 10 +- ...VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c | 4 +- ...VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c | 10 +- ...VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c | 4 +- ...ul_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c | 10 +- ...ul_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c | 10 +- ...ul_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c | 4 +- ...ul_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c | 10 +- ...ul_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomP1P1_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW3P1_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW3W3_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW4P1_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW4W4_sparc64_hpc_ace_double.c | 4 +- ...dwLJEwSh_GeomP1P1_sparc64_hpc_ace_double.c | 30 +- ...dwLJEwSh_GeomW3P1_sparc64_hpc_ace_double.c | 30 +- ...dwLJEwSh_GeomW3W3_sparc64_hpc_ace_double.c | 18 +- ...dwLJEwSh_GeomW4P1_sparc64_hpc_ace_double.c | 30 +- ...dwLJEwSh_GeomW4W4_sparc64_hpc_ace_double.c | 18 +- ..._VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c | 10 +- ..._VdwLJSh_GeomW3P1_sparc64_hpc_ace_double.c | 10 +- ..._VdwLJSh_GeomW3W3_sparc64_hpc_ace_double.c | 4 +- ..._VdwLJSh_GeomW4P1_sparc64_hpc_ace_double.c | 10 +- ..._VdwLJSh_GeomW4W4_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomP1P1_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW3P1_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW3W3_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW4P1_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW4W4_sparc64_hpc_ace_double.c | 4 +- ..._VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c | 10 +- ..._VdwLJSw_GeomW3P1_sparc64_hpc_ace_double.c | 10 +- ..._VdwLJSw_GeomW3W3_sparc64_hpc_ace_double.c | 4 +- ..._VdwLJSw_GeomW4P1_sparc64_hpc_ace_double.c | 10 +- ..._VdwLJSw_GeomW4W4_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomP1P1_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW3P1_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW3W3_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW4P1_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW4W4_sparc64_hpc_ace_double.c | 4 +- ...VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c | 10 +- ...VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c | 10 +- ...VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c | 4 +- ...VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c | 10 +- ...VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c | 4 +- ..._VdwLJEw_GeomP1P1_sparc64_hpc_ace_double.c | 30 +- ..._VdwLJEw_GeomW3P1_sparc64_hpc_ace_double.c | 30 +- ..._VdwLJEw_GeomW3W3_sparc64_hpc_ace_double.c | 18 +- ..._VdwLJEw_GeomW4P1_sparc64_hpc_ace_double.c | 30 +- ..._VdwLJEw_GeomW4W4_sparc64_hpc_ace_double.c | 18 +- ...Ew_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c | 10 +- ...Ew_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c | 10 +- ...Ew_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c | 4 +- ...Ew_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c | 10 +- ...Ew_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomP1P1_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW3P1_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW3W3_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW4P1_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW4W4_sparc64_hpc_ace_double.c | 4 +- ...VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c | 10 +- ...GB_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c | 10 +- ..._VdwNone_GeomP1P1_sparc64_hpc_ace_double.c | 4 +- ...VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c | 10 +- ...dwLJEwSh_GeomP1P1_sparc64_hpc_ace_double.c | 30 +- ..._VdwLJEw_GeomP1P1_sparc64_hpc_ace_double.c | 30 +- ..._VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c | 10 +- ..._VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c | 10 +- ...ne_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c | 10 +- ...VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c | 10 +- ...VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c | 10 +- ...VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c | 4 +- ...VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c | 10 +- ...VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c | 4 +- ..._VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c | 10 +- ..._VdwLJSh_GeomW3P1_sparc64_hpc_ace_double.c | 10 +- ..._VdwLJSh_GeomW3W3_sparc64_hpc_ace_double.c | 4 +- ..._VdwLJSh_GeomW4P1_sparc64_hpc_ace_double.c | 10 +- ..._VdwLJSh_GeomW4W4_sparc64_hpc_ace_double.c | 4 +- ..._VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c | 10 +- ..._VdwLJSw_GeomW3P1_sparc64_hpc_ace_double.c | 10 +- ..._VdwLJSw_GeomW3W3_sparc64_hpc_ace_double.c | 4 +- ..._VdwLJSw_GeomW4P1_sparc64_hpc_ace_double.c | 10 +- ..._VdwLJSw_GeomW4W4_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomP1P1_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW3P1_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW3W3_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW4P1_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW4W4_sparc64_hpc_ace_double.c | 4 +- ...VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c | 10 +- ...VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c | 10 +- ...VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c | 4 +- ...VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c | 10 +- ...VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c | 4 +- ...RF_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c | 10 +- ...RF_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c | 10 +- ...RF_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c | 4 +- ...RF_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c | 10 +- ...RF_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomP1P1_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW3P1_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW3W3_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW4P1_sparc64_hpc_ace_double.c | 4 +- ..._VdwNone_GeomW4W4_sparc64_hpc_ace_double.c | 4 +- ...kernel_template_sparc64_hpc_ace_double.pre | 18 +- .../impl_sparc64_hpc_ace.h | 432 ++++++++++++++++++ src/gromacs/simd/simd.h | 2 + src/gromacs/simd/tests/simd.cpp | 15 - src/gromacs/simd/tests/simd4.cpp | 14 - .../simd/tests/simd4_floatingpoint.cpp | 36 +- src/gromacs/simd/tests/simd_floatingpoint.cpp | 36 +- 138 files changed, 1214 insertions(+), 541 deletions(-) rename cmake/{ => Platform}/Toolchain-Fujitsu-Sparc64-mpi.cmake (66%) create mode 100644 cmake/Platform/Toolchain-Fujitsu-Sparc64.cmake create mode 100644 cmake/TestFujitsuSparc64.c rename cmake/{Toolchain-Fujitsu-Sparc64.cmake => gmxManageFujitsuSparc64.cmake} (68%) mode change 100755 => 100644 src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/make_nb_kernel_sparc64_hpc_ace_double.py create mode 100644 src/gromacs/simd/impl_sparc64_hpc_ace/impl_sparc64_hpc_ace.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 75e272fd56..e87e6464ac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -191,6 +191,16 @@ if(CMAKE_HOST_UNIX) "Hostname of the machine where the cache was generated.") endif() +######################################################################## +# Detect architecture before setting options so we can alter defaults +######################################################################## +# Detect the architecture the compiler is targetting, detect +# SIMD instructions possibilities on that hardware, suggest SIMD instruction set +# to use if none is specified, and populate the cache option for CPU +# SIMD. +include(gmxDetectTargetArchitecture) +gmx_detect_target_architecture() + ######################################################################## # User input options # ######################################################################## @@ -198,7 +208,16 @@ include(gmxOptionUtilities) set(CMAKE_PREFIX_PATH "" CACHE STRING "Extra locations to search for external libraries and tools (give directory without lib, bin, or include)") -option(GMX_DOUBLE "Use double precision (much slower, use only if you really need it)" OFF) +if(GMX_TARGET_FUJITSU_SPARC64) + # Fujitsu only has SIMD in double precision, so this will be faster + set(GMX_DOUBLE_DEFAULT ON) +else() + set(GMX_DOUBLE_DEFAULT OFF) +endif() +option(GMX_DOUBLE "Use double precision (much slower, use only if you really need it)" ${GMX_DOUBLE_DEFAULT}) +option(GMX_RELAXED_DOUBLE_PRECISION "Accept single precision 1/sqrt(x) when using Fujitsu HPC-ACE SIMD" OFF) +mark_as_advanced(GMX_RELAXED_DOUBLE_PRECISION) + option(GMX_MPI "Build a parallel (message-passing) version of GROMACS" OFF) option(GMX_THREAD_MPI "Build a thread-MPI-based multithreaded version of GROMACS (not compatible with MPI)" ON) gmx_dependent_option( @@ -226,13 +245,6 @@ endif() set(REQUIRED_CUDA_COMPUTE_CAPABILITY 2.0) include(gmxManageGPU) -# Detect the architecture the compiler is targetting, detect -# SIMD instructions possibilities on that hardware, suggest SIMD instruction set -# to use if none is specified, and populate the cache option for CPU -# SIMD. -include(gmxDetectTargetArchitecture) -gmx_detect_target_architecture() - if(GMX_CPU_ACCELERATION) # Stay compatible with old Jenkins command line options for specific SIMD acceleration set(GMX_SIMD "${GMX_CPU_ACCELERATION}" CACHE STRING "SIMD instruction set level and compiler optimization" FORCE) @@ -373,6 +385,9 @@ set(PKG_CFLAGS "") if(GMX_DOUBLE) add_definitions(-DGMX_DOUBLE) set(PKG_CFLAGS "${PKG_CFLAGS} -DGMX_DOUBLE") + if(GMX_RELAXED_DOUBLE_PRECISION) + add_definitions(-DGMX_RELAXED_DOUBLE_PRECISION) + endif() endif() if(GMX_SOFTWARE_INVSQRT) set(PKG_CFLAGS "${PKG_CFLAGS} -DGMX_SOFTWARE_INVSQRT") @@ -439,6 +454,10 @@ if(${CMAKE_SYSTEM_NAME} MATCHES BlueGene) include(gmxManageBlueGene) endif() +if(GMX_TARGET_FUJITSU_SPARC64) + include(gmxManageFujitsuSparc64) +endif() + ######################################################################## #Process MPI settings ######################################################################## diff --git a/cmake/Toolchain-Fujitsu-Sparc64-mpi.cmake b/cmake/Platform/Toolchain-Fujitsu-Sparc64-mpi.cmake similarity index 66% rename from cmake/Toolchain-Fujitsu-Sparc64-mpi.cmake rename to cmake/Platform/Toolchain-Fujitsu-Sparc64-mpi.cmake index 2b0a180b56..d457cc5d00 100644 --- a/cmake/Toolchain-Fujitsu-Sparc64-mpi.cmake +++ b/cmake/Platform/Toolchain-Fujitsu-Sparc64-mpi.cmake @@ -33,23 +33,19 @@ # the research papers on the package. Check out http://www.gromacs.org. # the name of the target operating system -set(CMAKE_SYSTEM_NAME Linux CACHE STRING "Cross-compiling for Fujitsu Sparc64") +set(CMAKE_SYSTEM_NAME Linux CACHE STRING "Cross-compiling for Fujitsu Sparc64, with MPI") +set(CMAKE_SYSTEM_PROCESSOR "s64fx") set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE) # set the compiler set(CMAKE_C_COMPILER mpifccpx) set(CMAKE_CXX_COMPILER mpiFCCpx) -set(CMAKE_C_COMPILER_ID "Fujitsu" CACHE STRING "Prevent CMake from adding GNU-specific linker flags (-rdynamic)" FORCE) -set(CMAKE_C_FLAGS "-Kopenmp -Kfast,reduction,swp,simd=2,uxsimd -x500 -Xg -DGMX_RELAXED_DOUBLE_PRECISION -w" CACHE STRING "Fujitsu Sparc64 C Flags" FORCE) -set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "Fujitsu Sparc64 C++ Flags" FORCE) -set(GMX_SOFTWARE_INVSQRT OFF CACHE BOOL "Use native 1.0/sqrt(x) on Fujitsu Sparc64" FORCE) +# Prevent CMake from adding GNU-specific linker flags (-rdynamic) +set(CMAKE_C_COMPILER_ID "Fujitsu" CACHE STRING "Fujitsu C cross-compiler" FORCE) +set(CMAKE_CXX_COMPILER_ID "Fujitsu" CACHE STRING "Fujitsu C++ cross-compiler" FORCE) -set(GMX_THREAD_MPI OFF CACHE BOOL "Use real MPI instead" FORCE) -set(GMX_MPI ON CACHE BOOL "Use MPI library" FORCE) -set(GMX_DOUBLE ON CACHE BOOL "Use double by default on Fujitsu Sparc64 (due to HPC-ACE)" FORCE) -set(GMX_GPU OFF CACHE BOOL "Cannot do GPU acceleration on Fujitsu Sparc64" FORCE) -set(BUILD_SHARED_LIBS OFF CACHE BOOL "Use static linking by default on Fujitsu Sparc64" FORCE) - -set(GMX_SIMD "Sparc64_HPC_ACE" CACHE STRING "Enabling Sparc64 HPC-ACE SIMD when using Fujitsu Sparc64 toolchain") +# FindOpenMP.cmake does not try -Kopenmp,but the package will try specific +# flags based on the compier ID. +set(OMP_FLAG_Fujitsu "-Kopenmp") diff --git a/cmake/Platform/Toolchain-Fujitsu-Sparc64.cmake b/cmake/Platform/Toolchain-Fujitsu-Sparc64.cmake new file mode 100644 index 0000000000..be5f13898a --- /dev/null +++ b/cmake/Platform/Toolchain-Fujitsu-Sparc64.cmake @@ -0,0 +1,53 @@ +# +# This file is part of the GROMACS molecular simulation package. +# +# Copyright (c) 2012,2013,2014, by the GROMACS development team, led by +# Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, +# and including many others, as listed in the AUTHORS file in the +# top-level source directory and at http://www.gromacs.org. +# +# GROMACS is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation; either version 2.1 +# of the License, or (at your option) any later version. +# +# GROMACS is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with GROMACS; if not, see +# http://www.gnu.org/licenses, or write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# +# If you want to redistribute modifications to GROMACS, please +# consider that scientific software is very special. Version +# control is crucial - bugs must be traceable. We will be happy to +# consider code for inclusion in the official distribution, but +# derived work must not be called official GROMACS. Details are found +# in the README & COPYING files - if they are missing, get the +# official version at http://www.gromacs.org. +# +# To help us fund GROMACS development, we humbly ask that you cite +# the research papers on the package. Check out http://www.gromacs.org. + +# the name of the target operating system +set(CMAKE_SYSTEM_NAME Linux CACHE STRING "Cross-compiling for Fujitsu Sparc64") +# Set the identification to the same value we would get on the nodes (uname -m) +set(CMAKE_SYSTEM_PROCESSOR "s64fx") + +set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE) + +# set the compiler +set(CMAKE_C_COMPILER fccpx) +set(CMAKE_CXX_COMPILER FCCpx) + +# Prevent CMake from adding GNU-specific linker flags (-rdynamic) +# A patch has been submitted to make CMake itself handle this in the future +set(CMAKE_C_COMPILER_ID "Fujitsu" CACHE STRING "Fujitsu C cross-compiler" FORCE) +set(CMAKE_CXX_COMPILER_ID "Fujitsu" CACHE STRING "Fujitsu C++ cross-compiler" FORCE) + +# FindOpenMP.cmake does not try -Kopenmp,but the package will try specific +# flags based on the compier ID. +set(OMP_FLAG_Fujitsu "-Kopenmp") diff --git a/cmake/TestFujitsuSparc64.c b/cmake/TestFujitsuSparc64.c new file mode 100644 index 0000000000..0740688024 --- /dev/null +++ b/cmake/TestFujitsuSparc64.c @@ -0,0 +1,8 @@ +int main() +{ +#if defined (__FUJITSU) && ( defined(__sparc) || defined(__sparcv9) ) && ( defined(__LP64__) || defined(__arch64) ) + return 0; +#else +#error This compiler is not targetting Fujitsu Sparc64 +#endif +} diff --git a/cmake/gmxCFlags.cmake b/cmake/gmxCFlags.cmake index 65a394de2c..6ad1bf83f5 100644 --- a/cmake/gmxCFlags.cmake +++ b/cmake/gmxCFlags.cmake @@ -249,6 +249,19 @@ MACRO(gmx_c_flags) GMX_TEST_CXXFLAG(CXXFLAGS_WARN_EXTRA "-Wextra -Wno-missing-field-initializers -Wpointer-arith" GMXC_CXXFLAGS) endif() + # Fujitsu compilers on PrimeHPC/Sparc64 + if(${CMAKE_C_COMPILER_ID} MATCHES Fujitsu OR + (${CMAKE_C_COMPILER_ID} MATCHES unknown AND ${CMAKE_C_COMPILER} MATCHES ^fcc)) + GMX_TEST_CFLAG(CFLAG_GNUCOMPAT "-Xg -w" GMXC_CFLAGS) + GMX_TEST_CFLAG(CFLAG_OPT "-Kfast,reduction,swp,simd=2,uxsimd,fsimple -x100" GMXC_CFLAGS) + endif() + + if(${CMAKE_CXX_COMPILER_ID} MATCHES Fujitsu OR + (${CMAKE_CXX_COMPILER_ID} MATCHES unknown AND ${CMAKE_CXX_COMPILER} MATCHES ^FCC)) + GMX_TEST_CXXFLAG(CXXFLAG_GNUCOMPAT "-Xg -w" GMXC_CXXFLAGS) + GMX_TEST_CXXFLAG(CXXFLAG_OPT "-Kfast,reduction,swp,simd=2,uxsimd,fsimple -x100" GMXC_CXXFLAGS) + endif() + # now actually set the flags: if (NOT GMX_SKIP_DEFAULT_CFLAGS) gmx_set_cmake_compiler_flags() diff --git a/cmake/gmxDetectSimd.cmake b/cmake/gmxDetectSimd.cmake index a2ac397c4c..199c4c3cde 100644 --- a/cmake/gmxDetectSimd.cmake +++ b/cmake/gmxDetectSimd.cmake @@ -94,6 +94,10 @@ function(gmx_detect_simd _suggested_simd) if(NOT DEFINED GMX_SIMD) if(GMX_TARGET_BGQ) set(${_suggested_simd} "IBM_QPX") + elseif(GMX_TARGET_FUJITSU_SPARC64) + # HPC-ACE is always present. In the future we + # should add detection for HPC-ACE2 here. + set(${_suggested_simd} "Sparc64_HPC_ACE") elseif(GMX_TARGET_X86) gmx_suggest_x86_simd(${_suggested_simd}) else() diff --git a/cmake/gmxDetectTargetArchitecture.cmake b/cmake/gmxDetectTargetArchitecture.cmake index 2bd9872090..2a188c77b3 100644 --- a/cmake/gmxDetectTargetArchitecture.cmake +++ b/cmake/gmxDetectTargetArchitecture.cmake @@ -53,4 +53,8 @@ function(gmx_detect_target_architecture) try_compile(GMX_TARGET_MIC ${CMAKE_BINARY_DIR} "${CMAKE_SOURCE_DIR}/cmake/TestMIC.c") endif() + if (NOT DEFINED GMX_TARGET_FUJITSU_SPARC64) + try_compile(GMX_TARGET_FUJITSU_SPARC64 ${CMAKE_BINARY_DIR} + "${CMAKE_SOURCE_DIR}/cmake/TestFujitsuSparc64.c") + endif() endfunction() diff --git a/cmake/Toolchain-Fujitsu-Sparc64.cmake b/cmake/gmxManageFujitsuSparc64.cmake similarity index 68% rename from cmake/Toolchain-Fujitsu-Sparc64.cmake rename to cmake/gmxManageFujitsuSparc64.cmake index 3f301eed64..e0b705ceee 100644 --- a/cmake/Toolchain-Fujitsu-Sparc64.cmake +++ b/cmake/gmxManageFujitsuSparc64.cmake @@ -32,23 +32,13 @@ # To help us fund GROMACS development, we humbly ask that you cite # the research papers on the package. Check out http://www.gromacs.org. -# the name of the target operating system -set(CMAKE_SYSTEM_NAME Linux CACHE STRING "Cross-compiling for Fujitsu Sparc64") +# Managing configuration for Fujitsu PrimeHPC Sparc64 +# For now this is mainly used for K computer. +message(STATUS "Configuring for Fujitsu Sparc64") -set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE) - -# set the compiler -set(CMAKE_C_COMPILER fccpx) -set(CMAKE_CXX_COMPILER FCCpx) -set(CMAKE_C_COMPILER_ID "Fujitsu" CACHE STRING "Prevent CMake from adding GNU-specific linker flags (-rdynamic)" FORCE) +set(BUILD_SHARED_LIBS OFF CACHE BOOL "Use static linking by default on Fujitsu Sparc64" FORCE) +set(GMX_GPU OFF CACHE BOOL "Cannot do GPU acceleration on Fujitsu Sparc64" FORCE) -set(CMAKE_C_FLAGS "-Kopenmp -Kfast,reduction,swp,simd=2,uxsimd -x500 -Xg -DGMX_RELAXED_DOUBLE_PRECISION -w" CACHE STRING "Fujitsu Sparc64 C Flags" FORCE) -set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "Fujitsu Sparc64 C++ Flags" FORCE) set(GMX_SOFTWARE_INVSQRT OFF CACHE BOOL "Use native 1.0/sqrt(x) on Fujitsu Sparc64" FORCE) +set(GMX_X11 OFF CACHE BOOL "X11 not compatible with Fujitsu Sparc64 cross-compile, disabled." FORCE) -# By default CMake will use thread-mpi -set(GMX_DOUBLE ON CACHE BOOL "Use double by default on Fujitsu Sparc64 (due to HPC-ACE)" FORCE) -set(GMX_GPU OFF CACHE BOOL "Cannot do GPU acceleration on Fujitsu Sparc64" FORCE) -set(BUILD_SHARED_LIBS OFF CACHE BOOL "Use static linking by default on Fujitsu Sparc64" FORCE) - -set(GMX_SIMD "Sparc64_HPC_ACE" CACHE STRING "Enabling Sparc64 HPC-ACE SIMD when using Fujitsu Sparc64 toolchain") diff --git a/cmake/gmxTestSimd.cmake b/cmake/gmxTestSimd.cmake index 49ea326b12..f58429a239 100644 --- a/cmake/gmxTestSimd.cmake +++ b/cmake/gmxTestSimd.cmake @@ -265,6 +265,8 @@ elseif(${GMX_SIMD} STREQUAL "IBM_QPX") elseif(${GMX_SIMD} STREQUAL "SPARC64_HPC_ACE") + # Note that GMX_RELAXED_DOUBLE_PRECISION is enabled by default in the top-level CMakeLists.txt + set(GMX_SIMD_SPARC64_HPC_ACE 1) set(SIMD_STATUS_MESSAGE "Enabling Sparc64 HPC-ACE SIMD instructions") diff --git a/docs/install-guide/install-guide.md b/docs/install-guide/install-guide.md index 6ffabb4444..67185db2cf 100644 --- a/docs/install-guide/install-guide.md +++ b/docs/install-guide/install-guide.md @@ -924,7 +924,7 @@ The recommended configuration is to use cmake .. -DCMAKE_C_COMPILER=mpicc \ -DCMAKE_CXX_COMPILER=mpicxx \ - -DCMAKE_TOOLCHAIN_FILE=Platform/BlueGeneQ-static-XL-CXX \ + -DCMAKE_TOOLCHAIN_FILE=Platform/BlueGeneQ-static-XL-CXX.cmake \ -DCMAKE_PREFIX_PATH=/your/fftw/installation/prefix \ -DGMX_MPI=ON \ -DGMX_BUILD_MDRUN_ONLY=ON @@ -957,8 +957,25 @@ add it. The default plain C kernels will work. This is the architecture of the K computer, which uses Fujitsu `Sparc64VIIIfx` chips. On this platform, GROMACS @PROJECT_VERSION@ has -accelerated group kernels, no accelerated Verlet kernels, and a custom -build toolchain. +accelerated group kernels using the HPC-ACE instructions, no +accelerated Verlet kernels, and a custom build toolchain. Since this +particular chip only does double precision SIMD, the default setup +is to build Gromacs in double. Since most users only need single, we have added +an option GMX_RELAXED_DOUBLE_PRECISION to accept single precision square root +accuracy in the group kernels; unless you know that you really need 15 digits +of accuracy in each individual force, we strongly recommend you use this. Note +that all summation and other operations are still done in double. + +The recommended configuration is to use + + cmake .. -DCMAKE_TOOLCHAIN_FILE=Toolchain-Fujitsu-Sparc64-mpi.cmake \ + -DCMAKE_PREFIX_PATH=/your/fftw/installation/prefix \ + -DCMAKE_INSTALL_PREFIX=/where/gromacs/should/be/installed \ + -DGMX_MPI=ON \ + -DGMX_BUILD_MDRUN_ONLY=ON \ + -DGMX_RELAXED_DOUBLE_PRECISION=ON + make + make install ### Intel Xeon Phi ### diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/kernelutil_sparc64_hpc_ace_double.h b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/kernelutil_sparc64_hpc_ace_double.h index 6f01d2dfef..923f4bb9fd 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/kernelutil_sparc64_hpc_ace_double.h +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/kernelutil_sparc64_hpc_ace_double.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -35,6 +35,10 @@ #ifndef _kernelutil_sparc64_hpc_ace_double_h_ #define _kernelutil_sparc64_hpc_ace_double_h_ +/* Get gmx_simd_exp_d() */ +#include "gromacs/simd/simd.h" +#include "gromacs/simd/simd_math.h" + /* Fujitsu header borrows the name from SSE2, since some instructions have aliases */ #include diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/make_nb_kernel_sparc64_hpc_ace_double.py b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/make_nb_kernel_sparc64_hpc_ace_double.py old mode 100755 new mode 100644 index b344ebfb61..6a567035f6 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/make_nb_kernel_sparc64_hpc_ace_double.py +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/make_nb_kernel_sparc64_hpc_ace_double.py @@ -91,7 +91,7 @@ Arch = 'sparc64_hpc_ace_double' # 'cutoff' means the interaction is set to 0.0 outside the cutoff # -FileHeader = create_copyright_header('2012,2013') +FileHeader = create_copyright_header('2012,2013,2014') FileHeader += """/* * Note: this file was generated by the GROMACS """+Arch+""" kernel generator. */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c index 00d34f09ac..205f843c31 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -297,7 +297,8 @@ nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); @@ -629,7 +630,8 @@ nb_kernel_ElecCSTab_VdwCSTab_GeomP1P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c index 4dc7ca56e2..c9fb58eb31 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -437,7 +437,8 @@ nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); @@ -1001,7 +1002,8 @@ nb_kernel_ElecCSTab_VdwCSTab_GeomW3P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c index 1cba13a1e5..ea7372eb3a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c index 2451c4dc86..1800d4f87d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -483,7 +483,8 @@ nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_VF_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); @@ -1125,7 +1126,8 @@ nb_kernel_ElecCSTab_VdwCSTab_GeomW4P1_F_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c index 7c1c5dc2f0..a5d53caee4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c index be6897972d..c0d830ba08 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -279,7 +279,8 @@ nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); @@ -573,7 +574,8 @@ nb_kernel_ElecCSTab_VdwLJ_GeomP1P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c index a466d6d531..9b6cbc85ca 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -419,7 +419,8 @@ nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); @@ -945,7 +946,8 @@ nb_kernel_ElecCSTab_VdwLJ_GeomW3P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c index e0ff96b8b3..1bf2bd9377 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c index 6950765c6f..fced48c222 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -449,7 +449,8 @@ nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_VF_sparc64_hpc_ace_double **************************/ /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* LENNARD-JONES DISPERSION/REPULSION */ @@ -1027,7 +1028,8 @@ nb_kernel_ElecCSTab_VdwLJ_GeomW4P1_F_sparc64_hpc_ace_double **************************/ /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* LENNARD-JONES DISPERSION/REPULSION */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c index ff37667f72..81de44cb37 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c index 9d0cc5790f..45a7a3d612 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c index 6f6b0a7835..740347dce8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c index 21a78ba8ef..4e6dcc9e60 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c index 53e413fafc..5656188c48 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c index 9926ffc74d..e09c491bdf 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCSTab_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c index 2c8eaaea2c..1666f42b73 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -290,7 +290,8 @@ nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); @@ -606,7 +607,8 @@ nb_kernel_ElecCoul_VdwCSTab_GeomP1P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c index 4cba5e8dea..cc730d2aa3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -392,7 +392,8 @@ nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); @@ -864,7 +865,8 @@ nb_kernel_ElecCoul_VdwCSTab_GeomW3P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c index fd7dbd3284..0e69e22578 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c index 141ad6009b..2a71b9706b 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -426,7 +426,8 @@ nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_VF_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); @@ -952,7 +953,8 @@ nb_kernel_ElecCoul_VdwCSTab_GeomW4P1_F_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c index cebf8de84d..c94c2b04b9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c index 80d5181732..50b56ae841 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -251,7 +251,8 @@ nb_kernel_ElecCoul_VdwLJ_GeomP1P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* COULOMB ELECTROSTATICS */ velec = _fjsp_mul_v2r8(qq00,rinv00); @@ -500,7 +501,8 @@ nb_kernel_ElecCoul_VdwLJ_GeomP1P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* COULOMB ELECTROSTATICS */ velec = _fjsp_mul_v2r8(qq00,rinv00); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c index 732a828638..5a8564f0ee 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -353,7 +353,8 @@ nb_kernel_ElecCoul_VdwLJ_GeomW3P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* COULOMB ELECTROSTATICS */ velec = _fjsp_mul_v2r8(qq00,rinv00); @@ -758,7 +759,8 @@ nb_kernel_ElecCoul_VdwLJ_GeomW3P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* COULOMB ELECTROSTATICS */ velec = _fjsp_mul_v2r8(qq00,rinv00); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c index 246e0864da..dd10c3e3f0 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c index a828feea5c..e440c725b9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -387,7 +387,8 @@ nb_kernel_ElecCoul_VdwLJ_GeomW4P1_VF_sparc64_hpc_ace_double **************************/ /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* LENNARD-JONES DISPERSION/REPULSION */ @@ -846,7 +847,8 @@ nb_kernel_ElecCoul_VdwLJ_GeomW4P1_F_sparc64_hpc_ace_double **************************/ /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* LENNARD-JONES DISPERSION/REPULSION */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c index c667a2600a..862e419e7e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c index 1ae1e08710..6d57949df3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c index df9aa7b98a..803ba0a507 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c index d2864f9193..56663adae4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c index ba37dd24b5..6478d04887 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c index a28cb09f37..88707e1bcf 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecCoul_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sparc64_hpc_ace_double.c index 23671683df..eb524e19a7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_sparc64_hpc_ace_double.c @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -246,11 +246,11 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_VF_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(_fjsp_nmsub_v2r8(c12_00,_fjsp_mul_v2r8(sh_vdw_invrcut6,sh_vdw_invrcut6),vvdw12),one_twelfth, _fjsp_mul_v2r8(_fjsp_sub_v2r8(vvdw6,_fjsp_madd_v2r8(c6grid_00,sh_lj_ewald,_fjsp_mul_v2r8(c6_00,sh_vdw_invrcut6))),one_sixth)); @@ -318,9 +318,11 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); - c6grid_00 = gmx_fjsp_load_1real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A); + c6grid_00 = gmx_fjsp_load_2real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A, + vdwgridparam+vdwioffset0+vdwjidx0B); /* EWALD ELECTROSTATICS */ @@ -345,11 +347,11 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_VF_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(_fjsp_nmsub_v2r8(c12_00,_fjsp_mul_v2r8(sh_vdw_invrcut6,sh_vdw_invrcut6),vvdw12),one_twelfth, _fjsp_mul_v2r8(_fjsp_sub_v2r8(vvdw6,_fjsp_madd_v2r8(c6grid_00,sh_lj_ewald,_fjsp_mul_v2r8(c6_00,sh_vdw_invrcut6))),one_sixth)); @@ -595,11 +597,11 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_F_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ @@ -660,9 +662,11 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); - c6grid_00 = gmx_fjsp_load_1real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A); + c6grid_00 = gmx_fjsp_load_2real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A, + vdwgridparam+vdwioffset0+vdwjidx0B); /* EWALD ELECTROSTATICS */ @@ -680,11 +684,11 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomP1P1_F_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sparc64_hpc_ace_double.c index 9420865dcd..c5582d564e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_sparc64_hpc_ace_double.c @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -280,11 +280,11 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_VF_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(_fjsp_nmsub_v2r8(c12_00,_fjsp_mul_v2r8(sh_vdw_invrcut6,sh_vdw_invrcut6),vvdw12),one_twelfth, _fjsp_mul_v2r8(_fjsp_sub_v2r8(vvdw6,_fjsp_madd_v2r8(c6grid_00,sh_lj_ewald,_fjsp_mul_v2r8(c6_00,sh_vdw_invrcut6))),one_sixth)); @@ -476,9 +476,11 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); - c6grid_00 = gmx_fjsp_load_1real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A); + c6grid_00 = gmx_fjsp_load_2real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A, + vdwgridparam+vdwioffset0+vdwjidx0B); /* EWALD ELECTROSTATICS */ @@ -503,11 +505,11 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_VF_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(_fjsp_nmsub_v2r8(c12_00,_fjsp_mul_v2r8(sh_vdw_invrcut6,sh_vdw_invrcut6),vvdw12),one_twelfth, _fjsp_mul_v2r8(_fjsp_sub_v2r8(vvdw6,_fjsp_madd_v2r8(c6grid_00,sh_lj_ewald,_fjsp_mul_v2r8(c6_00,sh_vdw_invrcut6))),one_sixth)); @@ -901,11 +903,11 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_F_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ @@ -1070,9 +1072,11 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); - c6grid_00 = gmx_fjsp_load_1real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A); + c6grid_00 = gmx_fjsp_load_2real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A, + vdwgridparam+vdwioffset0+vdwjidx0B); /* EWALD ELECTROSTATICS */ @@ -1090,11 +1094,11 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3P1_F_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sparc64_hpc_ace_double.c index 84da2d8ee8..99421c554d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_sparc64_hpc_ace_double.c @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -342,11 +342,11 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_VF_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(_fjsp_nmsub_v2r8(c12_00,_fjsp_mul_v2r8(sh_vdw_invrcut6,sh_vdw_invrcut6),vvdw12),one_twelfth, _fjsp_mul_v2r8(_fjsp_sub_v2r8(vvdw6,_fjsp_madd_v2r8(c6grid_00,sh_lj_ewald,_fjsp_mul_v2r8(c6_00,sh_vdw_invrcut6))),one_sixth)); @@ -885,11 +885,11 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_VF_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(_fjsp_nmsub_v2r8(c12_00,_fjsp_mul_v2r8(sh_vdw_invrcut6,sh_vdw_invrcut6),vvdw12),one_twelfth, _fjsp_mul_v2r8(_fjsp_sub_v2r8(vvdw6,_fjsp_madd_v2r8(c6grid_00,sh_lj_ewald,_fjsp_mul_v2r8(c6_00,sh_vdw_invrcut6))),one_sixth)); @@ -1651,11 +1651,11 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_F_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ @@ -2100,11 +2100,11 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomW3W3_F_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sparc64_hpc_ace_double.c index 33a8e260bf..b05d570ca4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_sparc64_hpc_ace_double.c @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -273,11 +273,11 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_VF_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(_fjsp_nmsub_v2r8(c12_00,_fjsp_mul_v2r8(sh_vdw_invrcut6,sh_vdw_invrcut6),vvdw12),one_twelfth, _fjsp_mul_v2r8(_fjsp_sub_v2r8(vvdw6,_fjsp_madd_v2r8(c6grid_00,sh_lj_ewald,_fjsp_mul_v2r8(c6_00,sh_vdw_invrcut6))),one_sixth)); @@ -524,19 +524,21 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_VF_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); - c6grid_00 = gmx_fjsp_load_1real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A); + c6grid_00 = gmx_fjsp_load_2real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A, + vdwgridparam+vdwioffset0+vdwjidx0B); /* Analytical LJ-PME */ rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(_fjsp_nmsub_v2r8(c12_00,_fjsp_mul_v2r8(sh_vdw_invrcut6,sh_vdw_invrcut6),vvdw12),one_twelfth, _fjsp_mul_v2r8(_fjsp_sub_v2r8(vvdw6,_fjsp_madd_v2r8(c6grid_00,sh_lj_ewald,_fjsp_mul_v2r8(c6_00,sh_vdw_invrcut6))),one_sixth)); @@ -981,11 +983,11 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_F_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ @@ -1197,19 +1199,21 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4P1_F_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); - c6grid_00 = gmx_fjsp_load_1real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A); + c6grid_00 = gmx_fjsp_load_2real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A, + vdwgridparam+vdwioffset0+vdwjidx0B); /* Analytical LJ-PME */ rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sparc64_hpc_ace_double.c index 9ae76e1990..770162ee60 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_sparc64_hpc_ace_double.c @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -342,11 +342,11 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_VF_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(_fjsp_nmsub_v2r8(c12_00,_fjsp_mul_v2r8(sh_vdw_invrcut6,sh_vdw_invrcut6),vvdw12),one_twelfth, _fjsp_mul_v2r8(_fjsp_sub_v2r8(vvdw6,_fjsp_madd_v2r8(c6grid_00,sh_lj_ewald,_fjsp_mul_v2r8(c6_00,sh_vdw_invrcut6))),one_sixth)); @@ -923,11 +923,11 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_VF_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(_fjsp_nmsub_v2r8(c12_00,_fjsp_mul_v2r8(sh_vdw_invrcut6,sh_vdw_invrcut6),vvdw12),one_twelfth, _fjsp_mul_v2r8(_fjsp_sub_v2r8(vvdw6,_fjsp_madd_v2r8(c6grid_00,sh_lj_ewald,_fjsp_mul_v2r8(c6_00,sh_vdw_invrcut6))),one_sixth)); @@ -1744,11 +1744,11 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_F_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ @@ -2230,11 +2230,11 @@ nb_kernel_ElecEwSh_VdwLJEwSh_GeomW4W4_F_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c index d6e6167ef7..e8bd4876ec 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -300,7 +300,8 @@ nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* EWALD ELECTROSTATICS */ @@ -613,7 +614,8 @@ nb_kernel_ElecEwSh_VdwLJSh_GeomP1P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* EWALD ELECTROSTATICS */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sparc64_hpc_ace_double.c index 3b8b129aec..09cf8d502c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -456,7 +456,8 @@ nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* EWALD ELECTROSTATICS */ @@ -1019,7 +1020,8 @@ nb_kernel_ElecEwSh_VdwLJSh_GeomW3P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* EWALD ELECTROSTATICS */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sparc64_hpc_ace_double.c index 4a60e2eafc..47df9cbac5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW3W3_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sparc64_hpc_ace_double.c index dea82ce1fa..26a7b50fae 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -497,7 +497,8 @@ nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_VF_sparc64_hpc_ace_double { /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* LENNARD-JONES DISPERSION/REPULSION */ @@ -1132,7 +1133,8 @@ nb_kernel_ElecEwSh_VdwLJSh_GeomW4P1_F_sparc64_hpc_ace_double { /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* LENNARD-JONES DISPERSION/REPULSION */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sparc64_hpc_ace_double.c index 7827030cdb..17f2a514e5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwLJSh_GeomW4W4_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c index a84e3c088a..4a58ad5a72 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c index 3eb213f323..bee9461a4a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c index 8bc1f8dc2c..cfbe1589ed 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c index 5641b773f8..6690b7fbc5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c index 622f84d722..a55e623769 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSh_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c index 7928b9bca5..ab8a4f9523 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -323,7 +323,8 @@ nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* EWALD ELECTROSTATICS */ @@ -679,7 +680,8 @@ nb_kernel_ElecEwSw_VdwLJSw_GeomP1P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* EWALD ELECTROSTATICS */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sparc64_hpc_ace_double.c index f1b877eec6..ddccfe10d8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -501,7 +501,8 @@ nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* EWALD ELECTROSTATICS */ @@ -1161,7 +1162,8 @@ nb_kernel_ElecEwSw_VdwLJSw_GeomW3P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* EWALD ELECTROSTATICS */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sparc64_hpc_ace_double.c index b2b55720b8..5a6cdc0ec6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW3W3_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sparc64_hpc_ace_double.c index af1528abbe..c55d849689 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -557,7 +557,8 @@ nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_VF_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* LENNARD-JONES DISPERSION/REPULSION */ @@ -1313,7 +1314,8 @@ nb_kernel_ElecEwSw_VdwLJSw_GeomW4P1_F_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* LENNARD-JONES DISPERSION/REPULSION */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sparc64_hpc_ace_double.c index b8cf45abc6..510daeb28c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwLJSw_GeomW4W4_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c index c7671e8e74..8c16d5c483 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c index 8fb0eacbcb..9283d2d660 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c index 8976491f42..6ad2a8c4e1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c index afff5b4837..84de5c02fa 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c index 487310bf3c..8870abe114 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEwSw_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c index 399679d959..1d38e53cc6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -312,7 +312,8 @@ nb_kernel_ElecEw_VdwCSTab_GeomP1P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); @@ -659,7 +660,8 @@ nb_kernel_ElecEw_VdwCSTab_GeomP1P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c index 13dffe64e7..9f992bf220 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -448,7 +448,8 @@ nb_kernel_ElecEw_VdwCSTab_GeomW3P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); @@ -1007,7 +1008,8 @@ nb_kernel_ElecEw_VdwCSTab_GeomW3P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c index 1e5665359c..b03397a3bd 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c index cc0de15329..f8add6c515 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -484,7 +484,8 @@ nb_kernel_ElecEw_VdwCSTab_GeomW4P1_VF_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); @@ -1101,7 +1102,8 @@ nb_kernel_ElecEw_VdwCSTab_GeomW4P1_F_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c index 65afc9e980..4264fc94a4 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sparc64_hpc_ace_double.c index 38a7346e1c..81821a1166 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomP1P1_sparc64_hpc_ace_double.c @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -235,11 +235,11 @@ nb_kernel_ElecEw_VdwLJEw_GeomP1P1_VF_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(vvdw12,one_twelfth,_fjsp_mul_v2r8(vvdw6,one_sixth)); /* fvdw = vvdw12/r - (vvdw6/r + (C6grid * exponent * beta^6)/r) */ @@ -295,9 +295,11 @@ nb_kernel_ElecEw_VdwLJEw_GeomP1P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); - c6grid_00 = gmx_fjsp_load_1real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A); + c6grid_00 = gmx_fjsp_load_2real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A, + vdwgridparam+vdwioffset0+vdwjidx0B); /* EWALD ELECTROSTATICS */ @@ -322,11 +324,11 @@ nb_kernel_ElecEw_VdwLJEw_GeomP1P1_VF_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(vvdw12,one_twelfth,_fjsp_mul_v2r8(vvdw6,one_sixth)); /* fvdw = vvdw12/r - (vvdw6/r + (C6grid * exponent * beta^6)/r) */ @@ -552,11 +554,11 @@ nb_kernel_ElecEw_VdwLJEw_GeomP1P1_F_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ @@ -608,9 +610,11 @@ nb_kernel_ElecEw_VdwLJEw_GeomP1P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); - c6grid_00 = gmx_fjsp_load_1real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A); + c6grid_00 = gmx_fjsp_load_2real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A, + vdwgridparam+vdwioffset0+vdwjidx0B); /* EWALD ELECTROSTATICS */ @@ -628,11 +632,11 @@ nb_kernel_ElecEw_VdwLJEw_GeomP1P1_F_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sparc64_hpc_ace_double.c index c1e9a2b01a..38a986a4bf 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW3P1_sparc64_hpc_ace_double.c @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -269,11 +269,11 @@ nb_kernel_ElecEw_VdwLJEw_GeomW3P1_VF_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(vvdw12,one_twelfth,_fjsp_mul_v2r8(vvdw6,one_sixth)); /* fvdw = vvdw12/r - (vvdw6/r + (C6grid * exponent * beta^6)/r) */ @@ -433,9 +433,11 @@ nb_kernel_ElecEw_VdwLJEw_GeomW3P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); - c6grid_00 = gmx_fjsp_load_1real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A); + c6grid_00 = gmx_fjsp_load_2real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A, + vdwgridparam+vdwioffset0+vdwjidx0B); /* EWALD ELECTROSTATICS */ @@ -460,11 +462,11 @@ nb_kernel_ElecEw_VdwLJEw_GeomW3P1_VF_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(vvdw12,one_twelfth,_fjsp_mul_v2r8(vvdw6,one_sixth)); /* fvdw = vvdw12/r - (vvdw6/r + (C6grid * exponent * beta^6)/r) */ @@ -818,11 +820,11 @@ nb_kernel_ElecEw_VdwLJEw_GeomW3P1_F_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ @@ -960,9 +962,11 @@ nb_kernel_ElecEw_VdwLJEw_GeomW3P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); - c6grid_00 = gmx_fjsp_load_1real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A); + c6grid_00 = gmx_fjsp_load_2real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A, + vdwgridparam+vdwioffset0+vdwjidx0B); /* EWALD ELECTROSTATICS */ @@ -980,11 +984,11 @@ nb_kernel_ElecEw_VdwLJEw_GeomW3P1_F_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sparc64_hpc_ace_double.c index 49bf255fd6..1d33ef6baa 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW3W3_sparc64_hpc_ace_double.c @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -331,11 +331,11 @@ nb_kernel_ElecEw_VdwLJEw_GeomW3W3_VF_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(vvdw12,one_twelfth,_fjsp_mul_v2r8(vvdw6,one_sixth)); /* fvdw = vvdw12/r - (vvdw6/r + (C6grid * exponent * beta^6)/r) */ @@ -782,11 +782,11 @@ nb_kernel_ElecEw_VdwLJEw_GeomW3W3_VF_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(vvdw12,one_twelfth,_fjsp_mul_v2r8(vvdw6,one_sixth)); /* fvdw = vvdw12/r - (vvdw6/r + (C6grid * exponent * beta^6)/r) */ @@ -1448,11 +1448,11 @@ nb_kernel_ElecEw_VdwLJEw_GeomW3W3_F_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ @@ -1816,11 +1816,11 @@ nb_kernel_ElecEw_VdwLJEw_GeomW3W3_F_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sparc64_hpc_ace_double.c index 193ab174c8..01312e6352 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW4P1_sparc64_hpc_ace_double.c @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -262,11 +262,11 @@ nb_kernel_ElecEw_VdwLJEw_GeomW4P1_VF_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(vvdw12,one_twelfth,_fjsp_mul_v2r8(vvdw6,one_sixth)); /* fvdw = vvdw12/r - (vvdw6/r + (C6grid * exponent * beta^6)/r) */ @@ -472,19 +472,21 @@ nb_kernel_ElecEw_VdwLJEw_GeomW4P1_VF_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); - c6grid_00 = gmx_fjsp_load_1real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A); + c6grid_00 = gmx_fjsp_load_2real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A, + vdwgridparam+vdwioffset0+vdwjidx0B); /* Analytical LJ-PME */ rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(vvdw12,one_twelfth,_fjsp_mul_v2r8(vvdw6,one_sixth)); /* fvdw = vvdw12/r - (vvdw6/r + (C6grid * exponent * beta^6)/r) */ @@ -880,11 +882,11 @@ nb_kernel_ElecEw_VdwLJEw_GeomW4P1_F_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ @@ -1060,19 +1062,21 @@ nb_kernel_ElecEw_VdwLJEw_GeomW4P1_F_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); - c6grid_00 = gmx_fjsp_load_1real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A); + c6grid_00 = gmx_fjsp_load_2real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A, + vdwgridparam+vdwioffset0+vdwjidx0B); /* Analytical LJ-PME */ rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sparc64_hpc_ace_double.c index df41d3cedc..52a678aaa6 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJEw_GeomW4W4_sparc64_hpc_ace_double.c @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -331,11 +331,11 @@ nb_kernel_ElecEw_VdwLJEw_GeomW4W4_VF_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(vvdw12,one_twelfth,_fjsp_mul_v2r8(vvdw6,one_sixth)); /* fvdw = vvdw12/r - (vvdw6/r + (C6grid * exponent * beta^6)/r) */ @@ -811,11 +811,11 @@ nb_kernel_ElecEw_VdwLJEw_GeomW4W4_VF_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(vvdw12,one_twelfth,_fjsp_mul_v2r8(vvdw6,one_sixth)); /* fvdw = vvdw12/r - (vvdw6/r + (C6grid * exponent * beta^6)/r) */ @@ -1523,11 +1523,11 @@ nb_kernel_ElecEw_VdwLJEw_GeomW4W4_F_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ @@ -1919,11 +1919,11 @@ nb_kernel_ElecEw_VdwLJEw_GeomW4W4_F_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c index 6400d3bf44..4802d316a9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -277,7 +277,8 @@ nb_kernel_ElecEw_VdwLJ_GeomP1P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* EWALD ELECTROSTATICS */ @@ -561,7 +562,8 @@ nb_kernel_ElecEw_VdwLJ_GeomP1P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* EWALD ELECTROSTATICS */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c index e94b67dfde..f6819e234c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -413,7 +413,8 @@ nb_kernel_ElecEw_VdwLJ_GeomW3P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* EWALD ELECTROSTATICS */ @@ -909,7 +910,8 @@ nb_kernel_ElecEw_VdwLJ_GeomW3P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* EWALD ELECTROSTATICS */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c index cbec966ae2..faf9ce53b2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c index bbf9e79f20..380a4a454a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -445,7 +445,8 @@ nb_kernel_ElecEw_VdwLJ_GeomW4P1_VF_sparc64_hpc_ace_double **************************/ /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* LENNARD-JONES DISPERSION/REPULSION */ @@ -995,7 +996,8 @@ nb_kernel_ElecEw_VdwLJ_GeomW4P1_F_sparc64_hpc_ace_double **************************/ /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* LENNARD-JONES DISPERSION/REPULSION */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c index e5e93e4513..71460f1288 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c index 9fc6b9ef25..731c3c43ab 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c index 170c4912a3..71ec483f9c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c index 04202a25e6..6b941f48eb 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c index 88f340c7db..30168ae29e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c index fe1a845ee2..64dc2b4aef 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecEw_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c index b1ae0df802..d5f3346b02 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -329,7 +329,8 @@ nb_kernel_ElecGB_VdwCSTab_GeomP1P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); @@ -716,7 +717,8 @@ nb_kernel_ElecGB_VdwCSTab_GeomP1P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c index 7ea6451beb..2e3e255fbf 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -300,7 +300,8 @@ nb_kernel_ElecGB_VdwLJ_GeomP1P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* GENERALIZED BORN AND COULOMB ELECTROSTATICS */ isaprod = _fjsp_mul_v2r8(isai0,isaj0); @@ -630,7 +631,8 @@ nb_kernel_ElecGB_VdwLJ_GeomP1P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* GENERALIZED BORN AND COULOMB ELECTROSTATICS */ isaprod = _fjsp_mul_v2r8(isai0,isaj0); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c index fde7441ba7..22836d5df9 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecGB_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c index 589e2115b0..6d1d4705f7 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -271,7 +271,8 @@ nb_kernel_ElecNone_VdwCSTab_GeomP1P1_VF_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); @@ -563,7 +564,8 @@ nb_kernel_ElecNone_VdwCSTab_GeomP1P1_F_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sparc64_hpc_ace_double.c index 8e1982d585..f778570900 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_sparc64_hpc_ace_double.c @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -211,11 +211,11 @@ nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_VF_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(_fjsp_nmsub_v2r8(c12_00,_fjsp_mul_v2r8(sh_vdw_invrcut6,sh_vdw_invrcut6),vvdw12),one_twelfth, _fjsp_mul_v2r8(_fjsp_sub_v2r8(vvdw6,_fjsp_madd_v2r8(c6grid_00,sh_lj_ewald,_fjsp_mul_v2r8(c6_00,sh_vdw_invrcut6))),one_sixth)); @@ -279,19 +279,21 @@ nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_VF_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); - c6grid_00 = gmx_fjsp_load_1real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A); + c6grid_00 = gmx_fjsp_load_2real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A, + vdwgridparam+vdwioffset0+vdwjidx0B); /* Analytical LJ-PME */ rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(_fjsp_nmsub_v2r8(c12_00,_fjsp_mul_v2r8(sh_vdw_invrcut6,sh_vdw_invrcut6),vvdw12),one_twelfth, _fjsp_mul_v2r8(_fjsp_sub_v2r8(vvdw6,_fjsp_madd_v2r8(c6grid_00,sh_lj_ewald,_fjsp_mul_v2r8(c6_00,sh_vdw_invrcut6))),one_sixth)); @@ -505,11 +507,11 @@ nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_F_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ @@ -568,19 +570,21 @@ nb_kernel_ElecNone_VdwLJEwSh_GeomP1P1_F_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); - c6grid_00 = gmx_fjsp_load_1real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A); + c6grid_00 = gmx_fjsp_load_2real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A, + vdwgridparam+vdwioffset0+vdwjidx0B); /* Analytical LJ-PME */ rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sparc64_hpc_ace_double.c index f797be75e0..1b354f3543 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJEw_GeomP1P1_sparc64_hpc_ace_double.c @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -201,11 +201,11 @@ nb_kernel_ElecNone_VdwLJEw_GeomP1P1_VF_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(vvdw12,one_twelfth,_fjsp_mul_v2r8(vvdw6,one_sixth)); /* fvdw = vvdw12/r - (vvdw6/r + (C6grid * exponent * beta^6)/r) */ @@ -258,19 +258,21 @@ nb_kernel_ElecNone_VdwLJEw_GeomP1P1_VF_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); - c6grid_00 = gmx_fjsp_load_1real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A); + c6grid_00 = gmx_fjsp_load_2real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A, + vdwgridparam+vdwioffset0+vdwjidx0B); /* Analytical LJ-PME */ rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_00,_fjsp_sub_v2r8(one,poly),c6_00),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_00,_fjsp_sub_v2r8(poly,one),c6_00),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_00,_fjsp_mul_v2r8(rinvsix,rinvsix)); vvdw = _fjsp_msub_v2r8(vvdw12,one_twelfth,_fjsp_mul_v2r8(vvdw6,one_sixth)); /* fvdw = vvdw12/r - (vvdw6/r + (C6grid * exponent * beta^6)/r) */ @@ -466,11 +468,11 @@ nb_kernel_ElecNone_VdwLJEw_GeomP1P1_F_sparc64_hpc_ace_double rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ @@ -520,19 +522,21 @@ nb_kernel_ElecNone_VdwLJEw_GeomP1P1_F_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); - c6grid_00 = gmx_fjsp_load_1real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A); + c6grid_00 = gmx_fjsp_load_2real_swizzle_v2r8(vdwgridparam+vdwioffset0+vdwjidx0A, + vdwgridparam+vdwioffset0+vdwjidx0B); /* Analytical LJ-PME */ rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq00,rinvsq00),rinvsq00); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq00); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_00,_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_00,one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c index 33ad9076d0..e7e5b27696 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -253,7 +253,8 @@ nb_kernel_ElecNone_VdwLJSh_GeomP1P1_VF_sparc64_hpc_ace_double { /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* LENNARD-JONES DISPERSION/REPULSION */ @@ -505,7 +506,8 @@ nb_kernel_ElecNone_VdwLJSh_GeomP1P1_F_sparc64_hpc_ace_double { /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* LENNARD-JONES DISPERSION/REPULSION */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c index 3ac3aa6f41..3efb862dac 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -282,7 +282,8 @@ nb_kernel_ElecNone_VdwLJSw_GeomP1P1_VF_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* LENNARD-JONES DISPERSION/REPULSION */ @@ -576,7 +577,8 @@ nb_kernel_ElecNone_VdwLJSw_GeomP1P1_F_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* LENNARD-JONES DISPERSION/REPULSION */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c index 6a00329f2c..2b3f34e4ae 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecNone_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -232,7 +232,8 @@ nb_kernel_ElecNone_VdwLJ_GeomP1P1_VF_sparc64_hpc_ace_double **************************/ /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* LENNARD-JONES DISPERSION/REPULSION */ @@ -457,7 +458,8 @@ nb_kernel_ElecNone_VdwLJ_GeomP1P1_F_sparc64_hpc_ace_double **************************/ /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* LENNARD-JONES DISPERSION/REPULSION */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c index b8636617a4..c42edbd966 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -312,7 +312,8 @@ nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); @@ -655,7 +656,8 @@ nb_kernel_ElecRFCut_VdwCSTab_GeomP1P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c index 122da5ad22..018952c156 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -434,7 +434,8 @@ nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); @@ -969,7 +970,8 @@ nb_kernel_ElecRFCut_VdwCSTab_GeomW3P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c index 8e5b97a429..e4896d9bc1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c index dc07f18abd..82381b12a1 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -464,7 +464,8 @@ nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_VF_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); @@ -1052,7 +1053,8 @@ nb_kernel_ElecRFCut_VdwCSTab_GeomW4P1_F_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c index 40fa48c05f..a76f0003de 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c index 73ecd6b29f..00e2e4d8bc 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -277,7 +277,8 @@ nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* REACTION-FIELD ELECTROSTATICS */ velec = _fjsp_mul_v2r8(qq00,_fjsp_sub_v2r8(_fjsp_madd_v2r8(krf,rsq00,rinv00),crf)); @@ -557,7 +558,8 @@ nb_kernel_ElecRFCut_VdwLJSh_GeomP1P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* REACTION-FIELD ELECTROSTATICS */ felec = _fjsp_mul_v2r8(qq00,_fjsp_msub_v2r8(rinv00,rinvsq00,krf2)); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sparc64_hpc_ace_double.c index 32cb4034e2..7bd46a3159 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -399,7 +399,8 @@ nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* REACTION-FIELD ELECTROSTATICS */ velec = _fjsp_mul_v2r8(qq00,_fjsp_sub_v2r8(_fjsp_madd_v2r8(krf,rsq00,rinv00),crf)); @@ -871,7 +872,8 @@ nb_kernel_ElecRFCut_VdwLJSh_GeomW3P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* REACTION-FIELD ELECTROSTATICS */ felec = _fjsp_mul_v2r8(qq00,_fjsp_msub_v2r8(rinv00,rinvsq00,krf2)); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sparc64_hpc_ace_double.c index 371a210e44..c2fa121e3e 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW3W3_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sparc64_hpc_ace_double.c index 01af2e4f59..b56a73d8e5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -442,7 +442,8 @@ nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_VF_sparc64_hpc_ace_double { /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* LENNARD-JONES DISPERSION/REPULSION */ @@ -986,7 +987,8 @@ nb_kernel_ElecRFCut_VdwLJSh_GeomW4P1_F_sparc64_hpc_ace_double { /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* LENNARD-JONES DISPERSION/REPULSION */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sparc64_hpc_ace_double.c index 1dc29413c1..5dffdcd13a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSh_GeomW4W4_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c index c04e26bdf0..eb84028588 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -302,7 +302,8 @@ nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* REACTION-FIELD ELECTROSTATICS */ velec = _fjsp_mul_v2r8(qq00,_fjsp_sub_v2r8(_fjsp_madd_v2r8(krf,rsq00,rinv00),crf)); @@ -620,7 +621,8 @@ nb_kernel_ElecRFCut_VdwLJSw_GeomP1P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* REACTION-FIELD ELECTROSTATICS */ felec = _fjsp_mul_v2r8(qq00,_fjsp_msub_v2r8(rinv00,rinvsq00,krf2)); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sparc64_hpc_ace_double.c index a36d621e42..2219811420 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -424,7 +424,8 @@ nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* REACTION-FIELD ELECTROSTATICS */ velec = _fjsp_mul_v2r8(qq00,_fjsp_sub_v2r8(_fjsp_madd_v2r8(krf,rsq00,rinv00),crf)); @@ -934,7 +935,8 @@ nb_kernel_ElecRFCut_VdwLJSw_GeomW3P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* REACTION-FIELD ELECTROSTATICS */ felec = _fjsp_mul_v2r8(qq00,_fjsp_msub_v2r8(rinv00,rinvsq00,krf2)); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sparc64_hpc_ace_double.c index a55055b2e0..c42d446699 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW3W3_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sparc64_hpc_ace_double.c index a7f11642ca..8f0dbea164 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -469,7 +469,8 @@ nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_VF_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* LENNARD-JONES DISPERSION/REPULSION */ @@ -1053,7 +1054,8 @@ nb_kernel_ElecRFCut_VdwLJSw_GeomW4P1_F_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* LENNARD-JONES DISPERSION/REPULSION */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sparc64_hpc_ace_double.c index da712725eb..59230a7af8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwLJSw_GeomW4W4_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c index dd62ae711d..d59adf4b9a 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c index ebaef401ec..96e951e47f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c index 910fa470cc..67b60b5fee 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c index ba622b53f4..305551f2d2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c index 19eaf69041..94ecbfd7f8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRFCut_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c index da9aa52937..15436673e2 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -293,7 +293,8 @@ nb_kernel_ElecRF_VdwCSTab_GeomP1P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); @@ -611,7 +612,8 @@ nb_kernel_ElecRF_VdwCSTab_GeomP1P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c index 8dddb72bef..b0f5066e98 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW3P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -395,7 +395,8 @@ nb_kernel_ElecRF_VdwCSTab_GeomW3P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); @@ -867,7 +868,8 @@ nb_kernel_ElecRF_VdwCSTab_GeomW3P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c index f7386e8568..5af27df8a8 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW3W3_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c index 2a06234511..7b2c2b7abd 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW4P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -429,7 +429,8 @@ nb_kernel_ElecRF_VdwCSTab_GeomW4P1_VF_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); @@ -955,7 +956,8 @@ nb_kernel_ElecRF_VdwCSTab_GeomW4P1_F_sparc64_hpc_ace_double r00 = _fjsp_mul_v2r8(rsq00,rinv00); /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* Calculate table index by multiplying r with table scale and truncate to integer */ rt = _fjsp_mul_v2r8(r00,vftabscale); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c index 00f24652c6..9757139ce5 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwCSTab_GeomW4W4_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c index e7832fd6c9..4588517f7d 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -254,7 +254,8 @@ nb_kernel_ElecRF_VdwLJ_GeomP1P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* REACTION-FIELD ELECTROSTATICS */ velec = _fjsp_mul_v2r8(qq00,_fjsp_sub_v2r8(_fjsp_madd_v2r8(krf,rsq00,rinv00),crf)); @@ -505,7 +506,8 @@ nb_kernel_ElecRF_VdwLJ_GeomP1P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* REACTION-FIELD ELECTROSTATICS */ felec = _fjsp_mul_v2r8(qq00,_fjsp_msub_v2r8(rinv00,rinvsq00,krf2)); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c index b5f82d68d4..295f5be73f 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW3P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -356,7 +356,8 @@ nb_kernel_ElecRF_VdwLJ_GeomW3P1_VF_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* REACTION-FIELD ELECTROSTATICS */ velec = _fjsp_mul_v2r8(qq00,_fjsp_sub_v2r8(_fjsp_madd_v2r8(krf,rsq00,rinv00),crf)); @@ -761,7 +762,8 @@ nb_kernel_ElecRF_VdwLJ_GeomW3P1_F_sparc64_hpc_ace_double /* Compute parameters for interactions between i and j atoms */ qq00 = _fjsp_mul_v2r8(iq0,jq0); - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* REACTION-FIELD ELECTROSTATICS */ felec = _fjsp_mul_v2r8(qq00,_fjsp_msub_v2r8(rinv00,rinvsq00,krf2)); diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c index eb9df87ff2..5dcaa42185 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW3W3_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c index bb39a71201..93df321d6c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW4P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -390,7 +390,8 @@ nb_kernel_ElecRF_VdwLJ_GeomW4P1_VF_sparc64_hpc_ace_double **************************/ /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* LENNARD-JONES DISPERSION/REPULSION */ @@ -849,7 +850,8 @@ nb_kernel_ElecRF_VdwLJ_GeomW4P1_F_sparc64_hpc_ace_double **************************/ /* Compute parameters for interactions between i and j atoms */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A,&c6_00,&c12_00); + gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset0+vdwjidx0A, + vdwparam+vdwioffset0+vdwjidx0B,&c6_00,&c12_00); /* LENNARD-JONES DISPERSION/REPULSION */ diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c index 3ce9fd0756..7156eb3000 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwLJ_GeomW4W4_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c index e89254047d..65dcd12145 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomP1P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c index f9b4a30906..4f7ed2cf06 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW3P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c index e9c4000d75..36f9117e94 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW3W3_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c index 9db02abebb..f7ddba907c 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW4P1_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c index 07071938eb..3b3c9c17db 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_ElecRF_VdwNone_GeomW4W4_sparc64_hpc_ace_double.c @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2012,2013, by the GROMACS development team, led by + * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -43,7 +43,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" diff --git a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_template_sparc64_hpc_ace_double.pre b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_template_sparc64_hpc_ace_double.pre index df45424c02..422e6a20a3 100644 --- a/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_template_sparc64_hpc_ace_double.pre +++ b/src/gromacs/gmxlib/nonbonded/nb_kernel_sparc64_hpc_ace_double/nb_kernel_template_sparc64_hpc_ace_double.pre @@ -44,7 +44,7 @@ #include "../nb_kernel.h" #include "types/simple.h" -#include "vec.h" +#include "gromacs/legacyheaders/vec.h" #include "nrnb.h" #include "kernelutil_sparc64_hpc_ace_double.h" @@ -543,20 +543,12 @@ void /* #define INNERFLOPS INNERFLOPS+1 */ /* #endif */ /* #if 'vdw' in INTERACTION_FLAGS[I][J] */ - /* #if ROUND == 'Loop' */ gmx_fjsp_load_2pair_swizzle_v2r8(vdwparam+vdwioffset{I}+vdwjidx{J}A, vdwparam+vdwioffset{I}+vdwjidx{J}B,&c6_{I}{J},&c12_{I}{J}); - /* #if 'LJEwald' in KERNEL_VDW */ + /* #if 'LJEwald' in KERNEL_VDW */ c6grid_{I}{J} = gmx_fjsp_load_2real_swizzle_v2r8(vdwgridparam+vdwioffset{I}+vdwjidx{J}A, vdwgridparam+vdwioffset{I}+vdwjidx{J}B); - /* #endif */ - /* #else */ - gmx_fjsp_load_1pair_swizzle_v2r8(vdwparam+vdwioffset{I}+vdwjidx{J}A,&c6_{I}{J},&c12_{I}{J}); - - /* #if 'LJEwald' in KERNEL_VDW */ - c6grid_{I}{J} = gmx_fjsp_load_1real_swizzle_v2r8(vdwgridparam+vdwioffset{I}+vdwjidx{J}A); - /* #endif */ /* #endif */ /* #endif */ /* #endif */ @@ -858,13 +850,13 @@ void rinvsix = _fjsp_mul_v2r8(_fjsp_mul_v2r8(rinvsq{I}{J},rinvsq{I}{J}),rinvsq{I}{J}); ewcljrsq = _fjsp_mul_v2r8(ewclj2,rsq{I}{J}); ewclj6 = _fjsp_mul_v2r8(ewclj2,_fjsp_mul_v2r8(ewclj2,ewclj2)); - exponent = gmx_simd_exp_d(-ewcljrsq); + exponent = gmx_simd_exp_d(ewcljrsq); /* poly = exp(-(beta*r)^2) * (1 + (beta*r)^2 + (beta*r)^4 /2) */ poly = _fjsp_mul_v2r8(exponent,_fjsp_madd_v2r8(_fjsp_mul_v2r8(ewcljrsq,ewcljrsq),one_half,_fjsp_sub_v2r8(one,ewcljrsq))); /* #define INNERFLOPS INNERFLOPS+9 */ /* #if 'Potential' in KERNEL_VF or KERNEL_MOD_VDW=='PotentialSwitch' */ /* vvdw6 = [C6 - C6grid * (1-poly)]/r6 */ - vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(-c6grid_{I}{J},_fjsp_sub_v2r8(one,poly),c6_{I}{J}),rinvsix); + vvdw6 = _fjsp_mul_v2r8(_fjsp_madd_v2r8(c6grid_{I}{J},_fjsp_sub_v2r8(poly,one),c6_{I}{J}),rinvsix); vvdw12 = _fjsp_mul_v2r8(c12_{I}{J},_fjsp_mul_v2r8(rinvsix,rinvsix)); /* #define INNERFLOPS INNERFLOPS+5 */ /* #if KERNEL_MOD_VDW=='PotentialShift' */ @@ -883,7 +875,7 @@ void /* #endif */ /* #elif KERNEL_VF=='Force' */ /* f6A = 6 * C6grid * (1 - poly) */ - f6A = _fjsp_mul_v2r8(c6grid_{I}{J},_fjsp_msub_v2r8(one,poly)); + f6A = _fjsp_mul_v2r8(c6grid_{I}{J},_fjsp_sub_v2r8(one,poly)); /* f6B = C6grid * exponent * beta^6 */ f6B = _fjsp_mul_v2r8(_fjsp_mul_v2r8(c6grid_{I}{J},one_sixth),_fjsp_mul_v2r8(exponent,ewclj6)); /* fvdw = 12*C12/r13 - ((6*C6 - f6A)/r6 + f6B)/r */ diff --git a/src/gromacs/simd/impl_sparc64_hpc_ace/impl_sparc64_hpc_ace.h b/src/gromacs/simd/impl_sparc64_hpc_ace/impl_sparc64_hpc_ace.h new file mode 100644 index 0000000000..d4a4905f02 --- /dev/null +++ b/src/gromacs/simd/impl_sparc64_hpc_ace/impl_sparc64_hpc_ace.h @@ -0,0 +1,432 @@ +/* + * This file is part of the GROMACS molecular simulation package. + * + * Copyright (c) 2014, by the GROMACS development team, led by + * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, + * and including many others, as listed in the AUTHORS file in the + * top-level source directory and at http://www.gromacs.org. + * + * GROMACS is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * GROMACS is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with GROMACS; if not, see + * http://www.gnu.org/licenses, or write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * If you want to redistribute modifications to GROMACS, please + * consider that scientific software is very special. Version + * control is crucial - bugs must be traceable. We will be happy to + * consider code for inclusion in the official distribution, but + * derived work must not be called official GROMACS. Details are found + * in the README & COPYING files - if they are missing, get the + * official version at http://www.gromacs.org. + * + * To help us fund GROMACS development, we humbly ask that you cite + * the research papers on the package. Check out http://www.gromacs.org. + */ + +#ifndef GMX_SIMD_IMPL_SPARC64_HPC_ACE_H +#define GMX_SIMD_IMPL_SPARC64_HPC_ACE_H + +#include +/* Fujitsu header borrows the name from SSE2, since some instructions have aliases */ +#include + + +/* Sparc64 HPC-ACE SIMD instruction wrappers + * + * Please see documentation in gromacs/simd/simd.h for defines. + */ + +/* Capability definitions for Sparc64 HPC-ACE */ +/* HPC-ACE is actually double-only on the register level, but we also implement + * a single-precision interface where we only offer single-precision accuracy + * in math functions - this can save quite a few cycles. + */ +#define GMX_SIMD_HAVE_FLOAT +#define GMX_SIMD_HAVE_DOUBLE +#define GMX_SIMD_HAVE_HARDWARE +#undef GMX_SIMD_HAVE_LOADU +#undef GMX_SIMD_HAVE_STOREU +#define GMX_SIMD_HAVE_LOGICAL +#define GMX_SIMD_HAVE_FMA +#undef GMX_SIMD_HAVE_FRACTION +#define GMX_SIMD_HAVE_FINT32 +#define GMX_SIMD_HAVE_FINT32_EXTRACT +#define GMX_SIMD_HAVE_FINT32_LOGICAL +#undef GMX_SIMD_HAVE_FINT32_ARITHMETICS +#define GMX_SIMD_HAVE_DINT32 +#define GMX_SIMD_HAVE_DINT32_EXTRACT +#define GMX_SIMD_HAVE_DINT32_LOGICAL +#undef GMX_SIMD_HAVE_DINT32_ARITHMETICS +#undef GMX_SIMD4_HAVE_FLOAT +#undef GMX_SIMD4_HAVE_DOUBLE + +/* Implementation details */ +#define GMX_SIMD_FLOAT_WIDTH 2 +#define GMX_SIMD_DOUBLE_WIDTH 2 +#define GMX_SIMD_FINT32_WIDTH 2 +#define GMX_SIMD_DINT32_WIDTH 2 +#define GMX_SIMD_RSQRT_BITS 10 +#define GMX_SIMD_RCP_BITS 9 + +/* HPC-ACE is a bit strange; some instructions like + * shifts only work on _integer_ versions of SIMD + * registers, but there are no intrinsics to load + * or convert, or even to cast. The only way to use + * them is to declare unions with the SIMD integer + * type. However, this will lead to extra load ops, + * and the normal real-to-int and int-to-real + * conversions work purely on the v2r8 fp regs. + * Since our most common usage is to convert and + * then extract the result for table lookups, we + * define the gmx_simd_fint32_t datatype to use + * the v2r8 rather than v2i8 SIMD type. + */ + +/**************************************************** + * SINGLE PRECISION SIMD IMPLEMENTATION * + ****************************************************/ +#define gmx_simd_float_t _fjsp_v2r8 +#define gmx_simd_load_f gmx_simd_load_f_sparc64_hpc_ace +#define gmx_simd_load1_f(m) _fjsp_set_v2r8((*m), (*m)) +#define gmx_simd_set1_f(a) _fjsp_set_v2r8(a, a) +#define gmx_simd_store_f gmx_simd_store_f_sparc64_hpc_ace +#define gmx_simd_loadu_f gmx_simd_load_f +/* No unaligned store of gmx_simd_float_t */ +#define gmx_simd_setzero_f _fjsp_setzero_v2r8 +#define gmx_simd_add_f _fjsp_add_v2r8 +#define gmx_simd_sub_f _fjsp_sub_v2r8 +#define gmx_simd_mul_f _fjsp_mul_v2r8 +#define gmx_simd_fmadd_f(a, b, c) _fjsp_madd_v2r8(a, b, c) +#define gmx_simd_fmsub_f(a, b, c) _fjsp_msub_v2r8(a, b, c) +#define gmx_simd_fnmadd_f(a, b, c) _fjsp_nmsub_v2r8(a, b, c) +#define gmx_simd_fnmsub_f(a, b, c) _fjsp_nmadd_v2r8(a, b, c) +#define gmx_simd_and_f _fjsp_and_v2r8 +#define gmx_simd_andnot_f _fjsp_andnot1_v2r8 +#define gmx_simd_or_f _fjsp_or_v2r8 +#define gmx_simd_xor_f _fjsp_xor_v2r8 +#define gmx_simd_rsqrt_f _fjsp_rsqrta_v2r8 +#define gmx_simd_rcp_f _fjsp_rcpa_v2r8 +#define gmx_simd_fabs_f(x) _fjsp_abs_v2r8(x) +#define gmx_simd_fneg_f(x) _fjsp_neg_v2r8(x) +#define gmx_simd_max_f _fjsp_max_v2r8 +#define gmx_simd_min_f _fjsp_min_v2r8 +#define gmx_simd_round_f(x) gmx_simd_round_d(x) +#define gmx_simd_trunc_f(x) gmx_simd_trunc_d(x) +#define gmx_simd_fraction_f(x) gmx_simd_sub_f(x, gmx_simd_trunc_f(x)) +#define gmx_simd_get_exponent_f gmx_simd_get_exponent_d_sparc64_hpc_ace +#define gmx_simd_get_mantissa_f gmx_simd_get_mantissa_d_sparc64_hpc_ace +#define gmx_simd_set_exponent_f gmx_simd_set_exponent_d_sparc64_hpc_ace +/* integer datatype corresponding to float: gmx_simd_fint32_t */ +#define gmx_simd_fint32_t _fjsp_v2r8 +#define gmx_simd_load_fi(m) gmx_simd_load_di_sparc64_hpc_ace(m) +#define gmx_simd_set1_fi(i) gmx_simd_set1_di_sparc64_hpc_ace(i) +#define gmx_simd_store_fi(m, x) gmx_simd_store_di_sparc64_hpc_ace(m, x) +#define gmx_simd_loadu_fi gmx_simd_load_fi +/* No unaligned store of gmx_simd_fint32_t */ +#define gmx_simd_setzero_fi _fjsp_setzero_v2r8 +#define gmx_simd_cvt_f2i gmx_simd_cvt_d2i +#define gmx_simd_cvtt_f2i _fjsp_dtox_v2r8 +#define gmx_simd_cvt_i2f _fjsp_xtod_v2r8 +#define gmx_simd_extract_fi gmx_simd_extract_di_sparc64_hpc_ace +/* Integer logical ops on gmx_simd_fint32_t */ +/* Shifts are horrible since they require memory re-loads. */ +#define gmx_simd_slli_fi gmx_simd_slli_di_sparc64_hpc_ace +#define gmx_simd_srli_fi gmx_simd_srli_di_sparc64_hpc_ace +#define gmx_simd_and_fi _fjsp_and_v2r8 +#define gmx_simd_andnot_fi(a, b) _fjsp_andnot1_v2r8(a, b) +#define gmx_simd_or_fi _fjsp_or_v2r8 +#define gmx_simd_xor_fi _fjsp_xor_v2r8 +/* No integer arithmetic ops on gmx_simd_fint32_t */ +/* Boolean & comparison operations on gmx_simd_float_t */ +#define gmx_simd_fbool_t _fjsp_v2r8 +#define gmx_simd_cmpeq_f _fjsp_cmpeq_v2r8 +#define gmx_simd_cmplt_f _fjsp_cmplt_v2r8 +#define gmx_simd_cmple_f _fjsp_cmple_v2r8 +#define gmx_simd_and_fb _fjsp_and_v2r8 +#define gmx_simd_or_fb _fjsp_or_v2r8 +#define gmx_simd_anytrue_fb gmx_simd_anytrue_d_sparc64_hpc_ace +#define gmx_simd_blendzero_f _fjsp_and_v2r8 +#define gmx_simd_blendnotzero_f(a, sel) _fjsp_andnot1_v2r8(sel, a) +#define gmx_simd_blendv_f(a, b, s) _fjsp_selmov_v2r8(b, a, s) +#define gmx_simd_reduce_f(a) gmx_simd_reduce_d_sparc64_hpc_ace(a) +/* No boolean & comparison operations on gmx_simd_fint32_t */ +/* No conversions between different booleans */ + +/**************************************************** + * DOUBLE PRECISION SIMD IMPLEMENTATION * + ****************************************************/ +#define gmx_simd_double_t _fjsp_v2r8 +#define gmx_simd_load_d _fjsp_load_v2r8 +#define gmx_simd_load1_d(m) _fjsp_set_v2r8((*m), (*m)) +#define gmx_simd_set1_d(a) _fjsp_set_v2r8(a, a) +#define gmx_simd_store_d _fjsp_store_v2r8 +#define gmx_simd_loadu_d gmx_simd_load_d +/* No unaligned store of gmx_simd_double_t */ +#define gmx_simd_setzero_d _fjsp_setzero_v2r8 +#define gmx_simd_add_d _fjsp_add_v2r8 +#define gmx_simd_sub_d _fjsp_sub_v2r8 +#define gmx_simd_mul_d _fjsp_mul_v2r8 +#define gmx_simd_fmadd_d(a, b, c) _fjsp_madd_v2r8(a, b, c) +#define gmx_simd_fmsub_d(a, b, c) _fjsp_msub_v2r8(a, b, c) +#define gmx_simd_fnmadd_d(a, b, c) _fjsp_nmsub_v2r8(a, b, c) +#define gmx_simd_fnmsub_d(a, b, c) _fjsp_nmadd_v2r8(a, b, c) +#define gmx_simd_and_d _fjsp_and_v2r8 +#define gmx_simd_andnot_d _fjsp_andnot1_v2r8 +#define gmx_simd_or_d _fjsp_or_v2r8 +#define gmx_simd_xor_d _fjsp_xor_v2r8 +#define gmx_simd_rsqrt_d(x) _fjsp_rsqrta_v2r8(x) +#define gmx_simd_rcp_d(x) _fjsp_rcpa_v2r8(x) +#define gmx_simd_fabs_d(x) _fjsp_abs_v2r8(x) +#define gmx_simd_fneg_d(x) _fjsp_neg_v2r8(x) +#define gmx_simd_max_d _fjsp_max_v2r8 +#define gmx_simd_min_d _fjsp_min_v2r8 +#define gmx_simd_round_d(x) gmx_simd_cvt_i2d(gmx_simd_cvt_d2i(x)) +#define gmx_simd_trunc_d(x) gmx_simd_cvt_i2d(gmx_simd_cvtt_d2i(x)) +#define gmx_simd_fraction_d(x) gmx_simd_sub_d(x, gmx_simd_trunc_d(x)) +#define gmx_simd_get_exponent_d gmx_simd_get_exponent_d_sparc64_hpc_ace +#define gmx_simd_get_mantissa_d gmx_simd_get_mantissa_d_sparc64_hpc_ace +#define gmx_simd_set_exponent_d gmx_simd_set_exponent_d_sparc64_hpc_ace +/* integer datatype corresponding to double: gmx_simd_dint32_t */ +#define gmx_simd_dint32_t _fjsp_v2r8 +#define gmx_simd_load_di(m) gmx_simd_load_di_sparc64_hpc_ace(m) +#define gmx_simd_set1_di(i) gmx_simd_set1_di_sparc64_hpc_ace(i) +#define gmx_simd_store_di(m, x) gmx_simd_store_di_sparc64_hpc_ace(m, x) +#define gmx_simd_loadu_di gmx_simd_load_di +/* No unaligned store of gmx_simd_dint32_t */ +#define gmx_simd_setzero_di _fjsp_setzero_v2r8 +#define gmx_simd_cvt_d2i gmx_simd_cvt_d2i_sparc64_hpc_ace +#define gmx_simd_cvtt_d2i _fjsp_dtox_v2r8 +#define gmx_simd_cvt_i2d _fjsp_xtod_v2r8 +#define gmx_simd_extract_di gmx_simd_extract_di_sparc64_hpc_ace +/* Integer logical ops on gmx_simd_dint32_t */ +#define gmx_simd_slli_di gmx_simd_slli_di_sparc64_hpc_ace +#define gmx_simd_srli_di gmx_simd_srli_di_sparc64_hpc_ace +#define gmx_simd_and_di _fjsp_and_v2r8 +#define gmx_simd_andnot_di _fjsp_andnot1_v2r8 +#define gmx_simd_or_di _fjsp_or_v2r8 +#define gmx_simd_xor_di _fjsp_xor_v2r8 +/* Integer arithmetic ops on integer datatype corresponding to double */ +/* Boolean & comparison operations on gmx_simd_double_t */ +#define gmx_simd_dbool_t _fjsp_v2r8 +#define gmx_simd_cmpeq_d _fjsp_cmpeq_v2r8 +#define gmx_simd_cmplt_d _fjsp_cmplt_v2r8 +#define gmx_simd_cmple_d _fjsp_cmple_v2r8 +#define gmx_simd_and_db _fjsp_and_v2r8 +#define gmx_simd_or_db _fjsp_or_v2r8 +#define gmx_simd_anytrue_db gmx_simd_anytrue_d_sparc64_hpc_ace +#define gmx_simd_blendzero_d _fjsp_and_v2r8 +#define gmx_simd_blendnotzero_d(a, sel) _fjsp_andnot1_v2r8(sel, a) +#define gmx_simd_blendv_d(a, b, sel) _fjsp_selmov_v2r8(b, a, sel) +#define gmx_simd_reduce_d(a) gmx_simd_reduce_d_sparc64_hpc_ace(a) + +/* No boolean & comparison operations on gmx_simd_dint32_t */ +/* Float/double conversion */ +#define gmx_simd_cvt_f2d(f) (f) +#define gmx_simd_cvt_d2f(d) (d) + + +/**************************************************** + * SINGLE PRECISION IMPLEMENTATION HELPER FUNCTIONS * + ****************************************************/ +static gmx_inline gmx_simd_float_t +gmx_simd_load_f_sparc64_hpc_ace(const float *m) +{ + /* We are not allowed to cast single-to-double registers, but we can + * masquerade the memory location as a variable of type _fjsp_v2r4. + */ + const _fjsp_v2r4 *p = (const _fjsp_v2r4 *)m; + _fjsp_v2r4 simd; + + simd = *p; + return _fjsp_stod_v2r8(simd); +} + +static gmx_inline void +gmx_simd_store_f_sparc64_hpc_ace(float *m, gmx_simd_float_t x) +{ + /* We are not allowed to cast single-to-double registers, but we can + * masquerade the memory location as a variable of type _fjsp_v2r4. + */ + _fjsp_v2r4 *p = (_fjsp_v2r4 *)m; + *p = _fjsp_dtos_v2r4(x); +} + +static gmx_inline gmx_simd_dint32_t +gmx_simd_load_di_sparc64_hpc_ace(const int *m) +{ + union + { + _fjsp_v2r8 simd; + long long int i[2]; + } + conv; + + conv.i[0] = m[0]; + conv.i[1] = m[1]; + + return _fjsp_load_v2r8( (double *) &(conv.simd) ); +} + +static gmx_inline void +gmx_simd_store_di_sparc64_hpc_ace(int *m, gmx_simd_dint32_t x) +{ + union + { + _fjsp_v2r8 simd; + long long int i[2]; + } + conv; + + _fjsp_store_v2r8( (double *) &(conv.simd), x ); + + m[0] = conv.i[0]; + m[1] = conv.i[1]; +} + +static gmx_inline gmx_simd_dint32_t +gmx_simd_set1_di_sparc64_hpc_ace(int i) +{ + union + { + _fjsp_v2r8 simd; + long long int i[2]; + } + conv; + + conv.i[0] = i; + conv.i[1] = i; + + return _fjsp_load_v2r8( (double *) &(conv.simd) ); +} + +static gmx_inline int +gmx_simd_extract_di_sparc64_hpc_ace(gmx_simd_dint32_t x, int i) +{ + long long int res; + /* This conditional should be optimized away at compile time */ + if (i == 0) + { + _fjsp_storel_v2r8((double *)&res, x); + } + else + { + _fjsp_storeh_v2r8((double *)&res, x); + } + return (int)res; +} + +static gmx_inline gmx_simd_dint32_t +gmx_simd_slli_di_sparc64_hpc_ace(gmx_simd_dint32_t x, int i) +{ + _fjsp_v2i8 ix = *((_fjsp_v2i8 *)&x); + ix = _fjsp_slli_v2i8(ix, i); + x = *((_fjsp_v2r8 *)&ix); + return x; +} + +static gmx_inline gmx_simd_dint32_t +gmx_simd_srli_di_sparc64_hpc_ace(gmx_simd_dint32_t x, int i) +{ + _fjsp_v2i8 ix = *((_fjsp_v2i8 *)&x); + ix = _fjsp_srli_v2i8(ix, i); + x = *((_fjsp_v2r8 *)&ix); + return x; +} + +static gmx_inline gmx_simd_dint32_t +gmx_simd_cvt_d2i_sparc64_hpc_ace(gmx_simd_double_t x) +{ + _fjsp_v2r8 signbit = _fjsp_set_v2r8(-0.0, -0.0); + _fjsp_v2r8 half = _fjsp_set_v2r8(0.5, 0.5); + + x = _fjsp_add_v2r8(x, _fjsp_or_v2r8(_fjsp_and_v2r8(signbit, x), half)); + return _fjsp_dtox_v2r8(x); +} + +static gmx_inline int +gmx_simd_anytrue_d_sparc64_hpc_ace(gmx_simd_dbool_t x) +{ + long long int i; + x = _fjsp_or_v2r8(x, _fjsp_unpackhi_v2r8(x, x)); + _fjsp_storel_v2r8((double *)&i, x); + return (i != 0LL); +} + +static gmx_inline double +gmx_simd_reduce_d_sparc64_hpc_ace(gmx_simd_double_t x) +{ + double d; + x = _fjsp_add_v2r8(x, _fjsp_unpackhi_v2r8(x, x)); + _fjsp_storel_v2r8(&d, x); + return d; +} + + +static gmx_inline gmx_simd_double_t +gmx_simd_get_exponent_d_sparc64_hpc_ace(gmx_simd_double_t x) +{ + /* HPC-ACE cannot cast _fjsp_v2r8 to _fjsp_v4i4, so to perform shifts we + * would need to store and reload. Since we are only operating on two + * numbers it is likely more efficient to do the operations directly on + * normal registers. + */ + const gmx_int64_t expmask = 0x7ff0000000000000LL; + const gmx_int64_t expbias = 1023LL; + + union + { + _fjsp_v2r8 simd; + long long int i[2]; + } + conv; + + _fjsp_store_v2r8( (double *) &conv.simd, x); + conv.i[0] = ((conv.i[0] & expmask) >> 52) - expbias; + conv.i[1] = ((conv.i[1] & expmask) >> 52) - expbias; + x = _fjsp_load_v2r8( (double *) &conv.simd); + return _fjsp_xtod_v2r8(x); +} + +static gmx_inline gmx_simd_double_t +gmx_simd_get_mantissa_d_sparc64_hpc_ace(gmx_simd_double_t x) +{ + gmx_int64_t mantmask[2] = {0x000fffffffffffffLL, 0x000fffffffffffffLL}; + gmx_simd_double_t one = _fjsp_set_v2r8(1.0, 1.0); + + x = _fjsp_and_v2r8(x, _fjsp_load_v2r8((double *)mantmask)); + return _fjsp_or_v2r8(x, one); +} + +static gmx_inline gmx_simd_double_t +gmx_simd_set_exponent_d_sparc64_hpc_ace(gmx_simd_double_t x) +{ + const gmx_int64_t expbias = 1023; + union + { + _fjsp_v2r8 simd; + long long int i[2]; + } + conv; + + + _fjsp_store_v2r8( (double *) &conv.simd, gmx_simd_cvt_d2i_sparc64_hpc_ace(x)); + conv.i[0] = (conv.i[0] + expbias) << 52; + conv.i[1] = (conv.i[1] + expbias) << 52; + + return _fjsp_load_v2r8( (double *) &conv.simd); +} + + +/* No SIMD4 support, since both single & double are only 2-wide */ + +#endif /* GMX_SIMD_IMPL_SPARC64_HPC_ACE_H */ diff --git a/src/gromacs/simd/simd.h b/src/gromacs/simd/simd.h index 53a65e984a..8ef1c8cac4 100644 --- a/src/gromacs/simd/simd.h +++ b/src/gromacs/simd/simd.h @@ -126,6 +126,8 @@ static gmx_inline double * gmx_simd4_align_d(double *p); # include "gromacs/simd/impl_x86_sse2/impl_x86_sse2.h" #elif defined GMX_SIMD_IBM_QPX # include "gromacs/simd/impl_ibm_qpx/impl_ibm_qpx.h" +#elif defined GMX_SIMD_SPARC64_HPC_ACE +# include "gromacs/simd/impl_sparc64_hpc_ace/impl_sparc64_hpc_ace.h" #elif (defined GMX_SIMD_REFERENCE) || (defined DOXYGEN) /* Plain C SIMD reference implementation, also serves as documentation. * For now this code path will also be taken for Sparc64_HPC_ACE since we have diff --git a/src/gromacs/simd/tests/simd.cpp b/src/gromacs/simd/tests/simd.cpp index 74c5dff84a..e3fa9d9106 100644 --- a/src/gromacs/simd/tests/simd.cpp +++ b/src/gromacs/simd/tests/simd.cpp @@ -80,21 +80,6 @@ const gmx_simd_real_t rSimd_Exp = setSimdRealFrom3R( 1.40552351710274526239 const gmx_simd_real_t rSimd_ExpDouble = setSimdRealFrom3R( 6.287393598732017379054414e+176, 8.794495252903116023030553e-140, -3.637060701570496477655022e+202); -// Magic FP numbers corresponding to specific bit patterns -const gmx_simd_real_t rSimd_Bits1 = setSimdRealFrom1R(-1.07730874267432137e+236); -const gmx_simd_real_t rSimd_Bits2 = setSimdRealFrom1R(-9.25596313493178307e+061); -const gmx_simd_real_t rSimd_Bits3 = setSimdRealFrom1R(-8.57750588235293981e+003); -const gmx_simd_real_t rSimd_Bits4 = setSimdRealFrom1R( 1.22416778341839096e-250); -const gmx_simd_real_t rSimd_Bits5 = setSimdRealFrom1R(-1.15711777004554095e+294); -const gmx_simd_real_t rSimd_Bits6 = setSimdRealFrom1R( 1.53063836115600621e-018); -# else -// Magic FP numbers corresponding to specific bit patterns -const gmx_simd_real_t rSimd_Bits1 = setSimdRealFrom1R(-5.9654142337e+29); -const gmx_simd_real_t rSimd_Bits2 = setSimdRealFrom1R(-1.0737417600e+08); -const gmx_simd_real_t rSimd_Bits3 = setSimdRealFrom1R(-6.0235290527e+00); -const gmx_simd_real_t rSimd_Bits4 = setSimdRealFrom1R( 1.0788832913e-31); -const gmx_simd_real_t rSimd_Bits5 = setSimdRealFrom1R(-1.0508719529e+37); -const gmx_simd_real_t rSimd_Bits6 = setSimdRealFrom1R( 1.1488970369e-02); # endif #endif // GMX_SIMD_HAVE_REAL #ifdef GMX_SIMD_HAVE_INT32 diff --git a/src/gromacs/simd/tests/simd4.cpp b/src/gromacs/simd/tests/simd4.cpp index d6dd7ac74c..f8d50ae877 100644 --- a/src/gromacs/simd/tests/simd4.cpp +++ b/src/gromacs/simd/tests/simd4.cpp @@ -68,20 +68,6 @@ const gmx_simd4_real_t rSimd4_Exp = setSimd4RealFrom3R( 1.40552351710274526 const gmx_simd4_real_t rSimd_ExpDouble = setSimd4RealFrom3R( 6.287393598732017379054414e+176, 8.794495252903116023030553e-140, -3.637060701570496477655022e+202); -// Magic FP numbers corresponding to specific bit patterns -const gmx_simd4_real_t rSimd4_Bits1 = setSimd4RealFrom1R(-1.07730874267432137e+236); -const gmx_simd4_real_t rSimd4_Bits2 = setSimd4RealFrom1R(-9.25596313493178307e+061); -const gmx_simd4_real_t rSimd4_Bits3 = setSimd4RealFrom1R(-8.57750588235293981e+003); -const gmx_simd4_real_t rSimd4_Bits4 = setSimd4RealFrom1R( 1.22416778341839096e-250); -const gmx_simd4_real_t rSimd4_Bits5 = setSimd4RealFrom1R(-1.15711777004554095e+294); -const gmx_simd4_real_t rSimd4_Bits6 = setSimd4RealFrom1R( 1.53063836115600621e-018); -# else -const gmx_simd4_real_t rSimd4_Bits1 = setSimd4RealFrom1R(-5.9654142337e+29); -const gmx_simd4_real_t rSimd4_Bits2 = setSimd4RealFrom1R(-1.0737417600e+08); -const gmx_simd4_real_t rSimd4_Bits3 = setSimd4RealFrom1R(-6.0235290527e+00); -const gmx_simd4_real_t rSimd4_Bits4 = setSimd4RealFrom1R( 1.0788832913e-31); -const gmx_simd4_real_t rSimd4_Bits5 = setSimd4RealFrom1R(-1.0508719529e+37); -const gmx_simd4_real_t rSimd4_Bits6 = setSimd4RealFrom1R( 1.1488970369e-02); # endif ::std::vector diff --git a/src/gromacs/simd/tests/simd4_floatingpoint.cpp b/src/gromacs/simd/tests/simd4_floatingpoint.cpp index 41aa5aa85f..57bfe85651 100644 --- a/src/gromacs/simd/tests/simd4_floatingpoint.cpp +++ b/src/gromacs/simd/tests/simd4_floatingpoint.cpp @@ -121,25 +121,47 @@ TEST_F(Simd4FloatingpointTest, gmxSimd4FnegR) } #ifdef GMX_SIMD4_HAVE_LOGICAL +/* 1.3333282470703125 has mantissa 0101010101010101 (followed by zeros) + * 1.79998779296875 has mantissa 1100110011001100 (followed by zeros) + * 1.26666259765625 has mantissa 0100010001000100 (followed by zeros) + * 1.8666534423828125 has mantissa 1101110111011101 (followed by zeros) + * + * Since all of them have the same exponent (2^0), the exponent will + * not change with AND or OR operations. + */ TEST_F(Simd4FloatingpointTest, gmxSimd4AndR) { - GMX_EXPECT_SIMD4_REAL_EQ(rSimd4_Bits3, gmx_simd4_and_r(rSimd4_Bits1, rSimd4_Bits2)); // Bits1 & Bits2 = Bits3 + GMX_EXPECT_SIMD4_REAL_EQ(setSimd4RealFrom1R(1.26666259765625), + gmx_simd4_and_r(gmx_simd4_set1_r(1.3333282470703125), + gmx_simd4_set1_r(1.79998779296875))); } -TEST_F(Simd4FloatingpointTest, gmxSimd4AndnotR) +TEST_F(Simd4FloatingpointTest, gmxSimd4OrR) { - GMX_EXPECT_SIMD4_REAL_EQ(rSimd4_Bits4, gmx_simd4_andnot_r(rSimd4_Bits1, rSimd4_Bits2)); // (~Bits1) & Bits2 = Bits3 + GMX_EXPECT_SIMD4_REAL_EQ(setSimd4RealFrom1R(1.8666534423828125), + gmx_simd4_or_r(gmx_simd4_set1_r(1.3333282470703125), + gmx_simd4_set1_r(1.79998779296875))); } -TEST_F(Simd4FloatingpointTest, gmxSimd4OrR) +TEST_F(Simd4FloatingpointTest, gmxSimd4XorR) { - GMX_EXPECT_SIMD4_REAL_EQ(rSimd4_Bits5, gmx_simd4_or_r(rSimd4_Bits1, rSimd4_Bits2)); // Bits1 | Bits2 = Bits3 + /* Test xor by taking xor with a number and its negative. This should result + * in only the sign bit being set. We then use this bit change the sign of + * different numbers. + */ + gmx_simd4_real_t signbit = gmx_simd4_xor_r(gmx_simd4_set1_r(1.5), gmx_simd4_set1_r(-1.5)); + GMX_EXPECT_SIMD4_REAL_EQ(setSimd4RealFrom3R(-1, 2, -3), gmx_simd4_xor_r(signbit, setSimd4RealFrom3R(1, -2, 3))); } -TEST_F(Simd4FloatingpointTest, gmxSimd4XorR) +TEST_F(Simd4FloatingpointTest, gmxSimd4AndnotR) { - GMX_EXPECT_SIMD4_REAL_EQ(rSimd4_Bits6, gmx_simd4_xor_r(rSimd4_Bits1, rSimd4_Bits2)); // Bits1 ^ Bits2 = Bits3 + /* Use xor (which we already tested, so fix that first if both tests fail) + * to extract the sign bit, and then use andnot to take absolute values. + */ + gmx_simd4_real_t signbit = gmx_simd4_xor_r(gmx_simd4_set1_r(1.5), gmx_simd4_set1_r(-1.5)); + GMX_EXPECT_SIMD4_REAL_EQ(setSimd4RealFrom3R(1, 2, 3), gmx_simd4_andnot_r(signbit, setSimd4RealFrom3R(-1, 2, -3))); } + #endif TEST_F(Simd4FloatingpointTest, gmxSimd4MaxR) diff --git a/src/gromacs/simd/tests/simd_floatingpoint.cpp b/src/gromacs/simd/tests/simd_floatingpoint.cpp index f0ee108d0f..44bd447305 100644 --- a/src/gromacs/simd/tests/simd_floatingpoint.cpp +++ b/src/gromacs/simd/tests/simd_floatingpoint.cpp @@ -128,25 +128,47 @@ TEST_F(SimdFloatingpointTest, gmxSimdFnegR) } #ifdef GMX_SIMD_HAVE_LOGICAL +/* 1.3333282470703125 has mantissa 0101010101010101 (followed by zeros) + * 1.79998779296875 has mantissa 1100110011001100 (followed by zeros) + * 1.26666259765625 has mantissa 0100010001000100 (followed by zeros) + * 1.8666534423828125 has mantissa 1101110111011101 (followed by zeros) + * + * Since all of them have the same exponent (2^0), the exponent will + * not change with AND or OR operations. + */ TEST_F(SimdFloatingpointTest, gmxSimdAndR) { - GMX_EXPECT_SIMD_REAL_EQ(rSimd_Bits3, gmx_simd_and_r(rSimd_Bits1, rSimd_Bits2)); // Bits1 & Bits2 = Bits3 + GMX_EXPECT_SIMD_REAL_EQ(setSimdRealFrom1R(1.26666259765625), + gmx_simd_and_r(gmx_simd_set1_r(1.3333282470703125), + gmx_simd_set1_r(1.79998779296875))); } -TEST_F(SimdFloatingpointTest, gmxSimdAndnotR) +TEST_F(SimdFloatingpointTest, gmxSimdOrR) { - GMX_EXPECT_SIMD_REAL_EQ(rSimd_Bits4, gmx_simd_andnot_r(rSimd_Bits1, rSimd_Bits2)); // (~Bits1) & Bits2 = Bits3 + GMX_EXPECT_SIMD_REAL_EQ(setSimdRealFrom1R(1.8666534423828125), + gmx_simd_or_r(gmx_simd_set1_r(1.3333282470703125), + gmx_simd_set1_r(1.79998779296875))); } -TEST_F(SimdFloatingpointTest, gmxSimdOrR) +TEST_F(SimdFloatingpointTest, gmxSimdXorR) { - GMX_EXPECT_SIMD_REAL_EQ(rSimd_Bits5, gmx_simd_or_r(rSimd_Bits1, rSimd_Bits2)); // Bits1 | Bits2 = Bits3 + /* Test xor by taking xor with a number and its negative. This should result + * in only the sign bit being set. We then use this bit change the sign of + * different numbers. + */ + gmx_simd_real_t signbit = gmx_simd_xor_r(gmx_simd_set1_r(1.5), gmx_simd_set1_r(-1.5)); + GMX_EXPECT_SIMD_REAL_EQ(setSimdRealFrom3R(-1, 2, -3), gmx_simd_xor_r(signbit, setSimdRealFrom3R(1, -2, 3))); } -TEST_F(SimdFloatingpointTest, gmxSimdXorR) +TEST_F(SimdFloatingpointTest, gmxSimdAndnotR) { - GMX_EXPECT_SIMD_REAL_EQ(rSimd_Bits6, gmx_simd_xor_r(rSimd_Bits1, rSimd_Bits2)); // Bits1 ^ Bits2 = Bits3 + /* Use xor (which we already tested, so fix that first if both tests fail) + * to extract the sign bit, and then use andnot to take absolute values. + */ + gmx_simd_real_t signbit = gmx_simd_xor_r(gmx_simd_set1_r(1.5), gmx_simd_set1_r(-1.5)); + GMX_EXPECT_SIMD_REAL_EQ(setSimdRealFrom3R(1, 2, 3), gmx_simd_andnot_r(signbit, setSimdRealFrom3R(-1, 2, -3))); } + #endif TEST_F(SimdFloatingpointTest, gmxSimdMaxR) -- 2.22.0