Enable SIMD register calling convention with gmx_simdcall
[alexxy/gromacs.git] / src / gromacs / simd / vector_operations.h
index f13957286fc95fc3a5e0420eda2a94ce8a647430..d2ccfde0e2a7ac3f29c9d3d748629dd04e17364e 100644 (file)
@@ -68,7 +68,7 @@
  *
  * \note The SIMD part is that we calculate many scalar products in one call.
  */
-static gmx_inline gmx_simd_float_t
+static gmx_inline gmx_simd_float_t gmx_simdcall
 gmx_simd_iprod_f(gmx_simd_float_t ax, gmx_simd_float_t ay, gmx_simd_float_t az,
                  gmx_simd_float_t bx, gmx_simd_float_t by, gmx_simd_float_t bz)
 {
@@ -94,7 +94,7 @@ gmx_simd_iprod_f(gmx_simd_float_t ax, gmx_simd_float_t ay, gmx_simd_float_t az,
  * \note This corresponds to the scalar product of the vector with itself, but
  * the compiler might be able to optimize it better with identical vectors.
  */
-static gmx_inline gmx_simd_float_t
+static gmx_inline gmx_simd_float_t gmx_simdcall
 gmx_simd_norm2_f(gmx_simd_float_t ax, gmx_simd_float_t ay, gmx_simd_float_t az)
 {
     gmx_simd_float_t ret;
@@ -132,7 +132,7 @@ gmx_simd_norm2_f(gmx_simd_float_t ax, gmx_simd_float_t ay, gmx_simd_float_t az)
  * The arguments x/y/z denotes the different components, and each element
  * corresponds to a separate vector.
  */
-static gmx_inline void
+static gmx_inline void gmx_simdcall
 gmx_simd_cprod_f(gmx_simd_float_t ax, gmx_simd_float_t ay, gmx_simd_float_t az,
                  gmx_simd_float_t bx, gmx_simd_float_t by, gmx_simd_float_t bz,
                  gmx_simd_float_t *cx, gmx_simd_float_t *cy, gmx_simd_float_t *cz)
@@ -153,7 +153,7 @@ gmx_simd_cprod_f(gmx_simd_float_t ax, gmx_simd_float_t ay, gmx_simd_float_t az,
  *
  * \copydetails gmx_simd_iprod_f
  */
-static gmx_inline gmx_simd_double_t
+static gmx_inline gmx_simd_double_t gmx_simdcall
 gmx_simd_iprod_d(gmx_simd_double_t ax, gmx_simd_double_t ay, gmx_simd_double_t az,
                  gmx_simd_double_t bx, gmx_simd_double_t by, gmx_simd_double_t bz)
 {
@@ -170,7 +170,7 @@ gmx_simd_iprod_d(gmx_simd_double_t ax, gmx_simd_double_t ay, gmx_simd_double_t a
  *
  * \copydetails gmx_simd_norm2_f
  */
-static gmx_inline gmx_simd_double_t
+static gmx_inline gmx_simd_double_t gmx_simdcall
 gmx_simd_norm2_d(gmx_simd_double_t ax, gmx_simd_double_t ay, gmx_simd_double_t az)
 {
     gmx_simd_double_t ret;
@@ -192,7 +192,7 @@ gmx_simd_norm2_d(gmx_simd_double_t ax, gmx_simd_double_t ay, gmx_simd_double_t a
  *
  * \copydetails gmx_simd_cprod_f
  */
-static gmx_inline void
+static gmx_inline void gmx_simdcall
 gmx_simd_cprod_d(gmx_simd_double_t ax, gmx_simd_double_t ay, gmx_simd_double_t az,
                  gmx_simd_double_t bx, gmx_simd_double_t by, gmx_simd_double_t bz,
                  gmx_simd_double_t *cx, gmx_simd_double_t *cy, gmx_simd_double_t *cz)
@@ -214,7 +214,7 @@ gmx_simd_cprod_d(gmx_simd_double_t ax, gmx_simd_double_t ay, gmx_simd_double_t a
  *
  * \copydetails gmx_simd_norm2_f
  */
-static gmx_inline gmx_simd4_float_t
+static gmx_inline gmx_simd4_float_t gmx_simdcall
 gmx_simd4_norm2_f(gmx_simd4_float_t ax, gmx_simd4_float_t ay, gmx_simd4_float_t az)
 {
     gmx_simd4_float_t ret;
@@ -239,7 +239,7 @@ gmx_simd4_norm2_f(gmx_simd4_float_t ax, gmx_simd4_float_t ay, gmx_simd4_float_t
  *
  * \copydetails gmx_simd_norm2_f
  */
-static gmx_inline gmx_simd4_double_t
+static gmx_inline gmx_simd4_double_t gmx_simdcall
 gmx_simd4_norm2_d(gmx_simd4_double_t ax, gmx_simd4_double_t ay, gmx_simd4_double_t az)
 {
     gmx_simd4_double_t ret;