From: Berk Hess Date: Thu, 29 Jan 2015 10:21:18 +0000 (+0100) Subject: Added parentheses for casts in SIMD macros X-Git-Url: http://biod.pnpi.spb.ru/gitweb/?a=commitdiff_plain;h=4cea41d3c3b1196341ead04de001eaa501352d33;p=alexxy%2Fgromacs.git Added parentheses for casts in SIMD macros Change-Id: I7b7a2346ad59b19d25be502cfb1c6c82c81a409f --- diff --git a/src/gromacs/simd/impl_ibm_vmx/impl_ibm_vmx.h b/src/gromacs/simd/impl_ibm_vmx/impl_ibm_vmx.h index 810a13433b..66b2986925 100644 --- a/src/gromacs/simd/impl_ibm_vmx/impl_ibm_vmx.h +++ b/src/gromacs/simd/impl_ibm_vmx/impl_ibm_vmx.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2014, by the GROMACS development team, led by + * Copyright (c) 2014,2015, 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. @@ -84,10 +84,10 @@ * SINGLE PRECISION SIMD IMPLEMENTATION * ****************************************************/ #define gmx_simd_float_t __vector float -#define gmx_simd_load_f(m) vec_ld(0, (const __vector float *)m) +#define gmx_simd_load_f(m) vec_ld(0, (const __vector float *)(m)) #define gmx_simd_load1_f(m) gmx_simd_load1_f_ibm_vmx(m) #define gmx_simd_set1_f(x) gmx_simd_set1_f_ibm_vmx(x) -#define gmx_simd_store_f(m, x) vec_st(x, 0, (__vector float *)m) +#define gmx_simd_store_f(m, x) vec_st(x, 0, (__vector float *)(m)) #undef gmx_simd_loadu_f #undef gmx_simd_storeu_f #define gmx_simd_setzero_f() ((__vector float)vec_splat_u32(0)) @@ -118,9 +118,9 @@ #define gmx_simd_set_exponent_f(a) gmx_simd_set_exponent_f_ibm_vmx(a) /* integer datatype corresponding to float: gmx_simd_fint32_t */ #define gmx_simd_fint32_t __vector int -#define gmx_simd_load_fi(m) vec_ld(0, (const __vector int *)m) -#define gmx_simd_set1_fi(i) gmx_simd_set1_fi_ibm_vmx((int)i) -#define gmx_simd_store_fi(m, x) vec_st(x, 0, (__vector int *)m) +#define gmx_simd_load_fi(m) vec_ld(0, (const __vector int *)(m)) +#define gmx_simd_set1_fi(i) gmx_simd_set1_fi_ibm_vmx((int)(i)) +#define gmx_simd_store_fi(m, x) vec_st(x, 0, (__vector int *)(m)) #undef gmx_simd_loadu_fi #undef gmx_simd_storeu_fi #define gmx_simd_setzero_fi() vec_splat_s32(0) diff --git a/src/gromacs/simd/impl_ibm_vsx/impl_ibm_vsx.h b/src/gromacs/simd/impl_ibm_vsx/impl_ibm_vsx.h index 4430e58747..ca8fb1ba5c 100644 --- a/src/gromacs/simd/impl_ibm_vsx/impl_ibm_vsx.h +++ b/src/gromacs/simd/impl_ibm_vsx/impl_ibm_vsx.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2014, by the GROMACS development team, led by + * Copyright (c) 2014,2015, 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. @@ -111,8 +111,8 @@ ****************************************************/ #define gmx_simd_float_t __vector float #ifdef __GNUC__ -# define gmx_simd_load_f(m) vec_vsx_ld(0, (const float *)m) -# define gmx_simd_store_f(m, x) vec_vsx_st(x, 0, (float *)m) +# define gmx_simd_load_f(m) vec_vsx_ld(0, (const float *)(m)) +# define gmx_simd_store_f(m, x) vec_vsx_st(x, 0, (float *)(m)) #else /* IBM xlC */ # define gmx_simd_load_f(m) vec_xlw4(0, (float *)(m)) @@ -158,12 +158,12 @@ /* integer datatype corresponding to float: gmx_simd_fint32_t */ #define gmx_simd_fint32_t __vector signed int #ifdef __GNUC__ -# define gmx_simd_load_fi(m) vec_vsx_ld(0, (const int *)m) -# define gmx_simd_store_fi(m, x) vec_vsx_st(x, 0, (int *)m) +# define gmx_simd_load_fi(m) vec_vsx_ld(0, (const int *)(m)) +# define gmx_simd_store_fi(m, x) vec_vsx_st(x, 0, (int *)(m)) #else /* IBM xlC */ -# define gmx_simd_load_fi(m) vec_xlw4(0, (int *)m) -# define gmx_simd_store_fi(m, x) vec_xstw4(x, 0, (int *)m) +# define gmx_simd_load_fi(m) vec_xlw4(0, (int *)(m)) +# define gmx_simd_store_fi(m, x) vec_xstw4(x, 0, (int *)(m)) #endif #define gmx_simd_set1_fi(i) vec_splats((int)(i)) #define gmx_simd_loadu_fi gmx_simd_load_fi @@ -174,8 +174,8 @@ #define gmx_simd_cvt_i2f(a) vec_ctf(a, 0) #define gmx_simd_extract_fi(a, i) gmx_simd_extract_fi_ibm_vsx(a, i) /* Integer logical ops on gmx_simd_fint32_t */ -#define gmx_simd_slli_fi(a, i) vec_sl(a, vec_splats((unsigned int)i)) -#define gmx_simd_srli_fi(a, i) vec_sr(a, vec_splats((unsigned int)i)) +#define gmx_simd_slli_fi(a, i) vec_sl(a, vec_splats((unsigned int)(i))) +#define gmx_simd_srli_fi(a, i) vec_sr(a, vec_splats((unsigned int)(i))) #define gmx_simd_and_fi(a, b) vec_and(a, b) #define gmx_simd_andnot_fi(a, b) vec_andc(b, a) #define gmx_simd_or_fi(a, b) vec_or(a, b) @@ -300,8 +300,8 @@ #define gmx_simd_cvt_d2i(a) gmx_simd_cvtt_d2i(gmx_simd_round_d(a)) #define gmx_simd_extract_di(a, i) gmx_simd_extract_fi_ibm_vsx(a, (i)*2) /* Integer logical ops on gmx_simd_dint32_t */ -#define gmx_simd_slli_di(a, i) vec_sl(a, vec_splats((unsigned int)i)) -#define gmx_simd_srli_di(a, i) vec_sr(a, vec_splats((unsigned int)i)) +#define gmx_simd_slli_di(a, i) vec_sl(a, vec_splats((unsigned int)(i))) +#define gmx_simd_srli_di(a, i) vec_sr(a, vec_splats((unsigned int)(i))) #define gmx_simd_and_di(a, b) vec_and(a, b) #define gmx_simd_andnot_di(a, b) vec_andc(b, a) #define gmx_simd_or_di(a, b) vec_or(a, b) diff --git a/src/gromacs/simd/impl_x86_avx_256/impl_x86_avx_256.h b/src/gromacs/simd/impl_x86_avx_256/impl_x86_avx_256.h index 493fe2a34f..8e2671a321 100644 --- a/src/gromacs/simd/impl_x86_avx_256/impl_x86_avx_256.h +++ b/src/gromacs/simd/impl_x86_avx_256/impl_x86_avx_256.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2014, by the GROMACS development team, led by + * Copyright (c) 2014,2015, 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. @@ -118,11 +118,11 @@ #define gmx_simd_set_exponent_f gmx_simd_set_exponent_f_avx_256 /* integer datatype corresponding to float: gmx_simd_fint32_t */ #define gmx_simd_fint32_t __m256i -#define gmx_simd_load_fi(m) _mm256_load_si256((__m256i const*)m) +#define gmx_simd_load_fi(m) _mm256_load_si256((__m256i const*)(m)) #define gmx_simd_set1_fi _mm256_set1_epi32 -#define gmx_simd_store_fi(m, x) _mm256_store_si256((__m256i *)m, x) -#define gmx_simd_loadu_fi(m) _mm256_loadu_si256((__m256i const*)m) -#define gmx_simd_storeu_fi(m, x) _mm256_storeu_si256((__m256i *)m, x) +#define gmx_simd_store_fi(m, x) _mm256_store_si256((__m256i *)(m), x) +#define gmx_simd_loadu_fi(m) _mm256_loadu_si256((__m256i const*)(m)) +#define gmx_simd_storeu_fi(m, x) _mm256_storeu_si256((__m256i *)(m), x) #define gmx_simd_setzero_fi _mm256_setzero_si256 #define gmx_simd_cvt_f2i _mm256_cvtps_epi32 #define gmx_simd_cvtt_f2i _mm256_cvttps_epi32 @@ -204,11 +204,11 @@ #define gmx_simd_set_exponent_d gmx_simd_set_exponent_d_avx_256 /* integer datatype corresponding to double: gmx_simd_dint32_t */ #define gmx_simd_dint32_t __m128i -#define gmx_simd_load_di(m) _mm_load_si128((const __m128i *)m) +#define gmx_simd_load_di(m) _mm_load_si128((const __m128i *)(m)) #define gmx_simd_set1_di _mm_set1_epi32 -#define gmx_simd_store_di(m, x) _mm_store_si128((__m128i *)m, x) -#define gmx_simd_loadu_di(m) _mm_loadu_si128((const __m128i *)m) -#define gmx_simd_storeu_di(m, x) _mm_storeu_si128((__m128i *)m, x) +#define gmx_simd_store_di(m, x) _mm_store_si128((__m128i *)(m), x) +#define gmx_simd_loadu_di(m) _mm_loadu_si128((const __m128i *)(m)) +#define gmx_simd_storeu_di(m, x) _mm_storeu_si128((__m128i *)(m), x) #define gmx_simd_setzero_di _mm_setzero_si128 #define gmx_simd_cvt_d2i _mm256_cvtpd_epi32 #define gmx_simd_cvtt_d2i _mm256_cvttpd_epi32 diff --git a/src/gromacs/simd/impl_x86_sse2/impl_x86_sse2.h b/src/gromacs/simd/impl_x86_sse2/impl_x86_sse2.h index 2d3f908f56..90aac616a1 100644 --- a/src/gromacs/simd/impl_x86_sse2/impl_x86_sse2.h +++ b/src/gromacs/simd/impl_x86_sse2/impl_x86_sse2.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2014, by the GROMACS development team, led by + * Copyright (c) 2014,2015, 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. @@ -114,11 +114,11 @@ #define gmx_simd_set_exponent_f gmx_simd_set_exponent_f_sse2 /* integer datatype corresponding to float: gmx_simd_fint32_t */ #define gmx_simd_fint32_t __m128i -#define gmx_simd_load_fi(m) _mm_load_si128((const __m128i *)m) +#define gmx_simd_load_fi(m) _mm_load_si128((const __m128i *)(m)) #define gmx_simd_set1_fi _mm_set1_epi32 -#define gmx_simd_store_fi(m, x) _mm_store_si128((__m128i *)m, x) -#define gmx_simd_loadu_fi(m) _mm_loadu_si128((const __m128i *)m) -#define gmx_simd_storeu_fi(m, x) _mm_storeu_si128((__m128i *)m, x) +#define gmx_simd_store_fi(m, x) _mm_store_si128((__m128i *)(m), x) +#define gmx_simd_loadu_fi(m) _mm_loadu_si128((const __m128i *)(m)) +#define gmx_simd_storeu_fi(m, x) _mm_storeu_si128((__m128i *)(m), x) #define gmx_simd_setzero_fi _mm_setzero_si128 #define gmx_simd_cvt_f2i _mm_cvtps_epi32 #define gmx_simd_cvtt_f2i _mm_cvttps_epi32 @@ -198,11 +198,11 @@ #define gmx_simd_set_exponent_d gmx_simd_set_exponent_d_sse2 /* integer datatype corresponding to double: gmx_simd_dint32_t */ #define gmx_simd_dint32_t __m128i -#define gmx_simd_load_di(m) _mm_loadl_epi64((const __m128i *)m) +#define gmx_simd_load_di(m) _mm_loadl_epi64((const __m128i *)(m)) #define gmx_simd_set1_di _mm_set1_epi32 -#define gmx_simd_store_di(m, x) _mm_storel_epi64((__m128i *)m, x) -#define gmx_simd_loadu_di(m) _mm_loadl_epi64((const __m128i *)m) -#define gmx_simd_storeu_di(m, x) _mm_storel_epi64((__m128i *)m, x) +#define gmx_simd_store_di(m, x) _mm_storel_epi64((__m128i *)(m), x) +#define gmx_simd_loadu_di(m) _mm_loadl_epi64((const __m128i *)(m)) +#define gmx_simd_storeu_di(m, x) _mm_storel_epi64((__m128i *)(m), x) #define gmx_simd_setzero_di _mm_setzero_si128 #define gmx_simd_cvt_d2i _mm_cvtpd_epi32 #define gmx_simd_cvtt_d2i _mm_cvttpd_epi32