Merge branch release-4-6 into master
[alexxy/gromacs.git] / src / gromacs / mdlib / nbnxn_kernels / nbnxn_kernel_file_generator / nbnxn_kernel_simd_2xnn_kernel.c.pre
1 /* Some target architectures compile kernels for only some NBNxN
2  * kernel flavours, but the code is generated before the target
3  * architecture is known. So compilation is conditional upon
4  * {0}, so that this file reduces to a stub
5  * function definition when the kernel will never be called.
6  */
7 #define GMX_SIMD_J_UNROLL_SIZE {7}
8 #include "{4}"
9
10 {1}
11 {2}
12 {3}
13
14 #ifdef {0}
15 #include "nbnxn_kernel_simd_2xnn_common.h"
16 #endif /* {0} */
17
18 #ifdef CALC_ENERGIES
19 void
20 {5}(const nbnxn_pairlist_t     *nbl,
21 {6}const nbnxn_atomdata_t     *nbat,
22 {6}const interaction_const_t  *ic,
23 {6}rvec                       *shift_vec,
24 {6}real                       *f,
25 {6}real                       *fshift,
26 {6}real                       *Vvdw,
27 {6}real                       *Vc)
28 #else /* CALC_ENERGIES */
29 void
30 {5}(const nbnxn_pairlist_t     *nbl,
31 {6}const nbnxn_atomdata_t     *nbat,
32 {6}const interaction_const_t  *ic,
33 {6}rvec                       *shift_vec,
34 {6}real                       *f,
35 {6}real                       *fshift)
36 #endif /* CALC_ENERGIES */
37 #ifdef {0}
38 #include "nbnxn_kernel_simd_2xnn_outer.h"
39 #else /* {0} */
40 {{
41 /* No need to call gmx_incons() here, because the only function
42  * that calls this one is also compiled conditionally. When
43  * {0} is not defined, it will call no kernel functions and
44  * instead call gmx_incons().
45  */
46 }}
47 #endif /* {0} */