From e6c33427d8c287cfaa0787e0b0dd93993b3eae29 Mon Sep 17 00:00:00 2001 From: eschnett Date: Thu, 16 Aug 2012 16:12:09 +0000 Subject: Use NOTZERO (~0) instead of IMIN git-svn-id: https://svn.cct.lsu.edu/repos/numrel/LSUThorns/Vectors/trunk@63 105869f7-3296-0410-a4ea-f4349344b45a --- src/vectors-8-AVX.h | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/vectors-8-AVX.h b/src/vectors-8-AVX.h index 825f2d3..1ba2583 100644 --- a/src/vectors-8-AVX.h +++ b/src/vectors-8-AVX.h @@ -40,9 +40,10 @@ union k8const_t { __m256d vf; }; -#define K8_ZERO 0x0000000000000000ULL -#define K8_IMIN 0x8000000000000000ULL -#define K8_IMAX 0x7fffffffffffffffULL +#define K8_ZERO 0x0000000000000000ULL +#define K8_NOTZERO 0xffffffffffffffffULL +#define K8_IMIN 0x8000000000000000ULL +#define K8_IMAX 0x7fffffffffffffffULL @@ -162,19 +163,19 @@ union k8const_t { // Masks indicating which vector element should be stored: static const k8const_t k8store_lo[5] = { - {{ K8_ZERO, K8_ZERO, K8_ZERO, K8_ZERO, }}, - {{ K8_IMIN, K8_ZERO, K8_ZERO, K8_ZERO, }}, - {{ K8_IMIN, K8_IMIN, K8_ZERO, K8_ZERO, }}, - {{ K8_IMIN, K8_IMIN, K8_IMIN, K8_ZERO, }}, - {{ K8_IMIN, K8_IMIN, K8_IMIN, K8_IMIN, }}, + {{ K8_ZERO , K8_ZERO , K8_ZERO , K8_ZERO , }}, + {{ K8_NOTZERO, K8_ZERO , K8_ZERO , K8_ZERO , }}, + {{ K8_NOTZERO, K8_NOTZERO, K8_ZERO , K8_ZERO , }}, + {{ K8_NOTZERO, K8_NOTZERO, K8_NOTZERO, K8_ZERO , }}, + {{ K8_NOTZERO, K8_NOTZERO, K8_NOTZERO, K8_NOTZERO, }}, }; static const k8const_t k8store_hi[5] = { - {{ K8_ZERO, K8_ZERO, K8_ZERO, K8_ZERO, }}, - {{ K8_ZERO, K8_ZERO, K8_ZERO, K8_IMIN, }}, - {{ K8_ZERO, K8_ZERO, K8_IMIN, K8_IMIN, }}, - {{ K8_ZERO, K8_IMIN, K8_IMIN, K8_IMIN, }}, - {{ K8_IMIN, K8_IMIN, K8_IMIN, K8_IMIN, }}, + {{ K8_ZERO , K8_ZERO , K8_ZERO , K8_ZERO , }}, + {{ K8_ZERO , K8_ZERO , K8_ZERO , K8_NOTZERO, }}, + {{ K8_ZERO , K8_ZERO , K8_NOTZERO, K8_NOTZERO, }}, + {{ K8_ZERO , K8_NOTZERO, K8_NOTZERO, K8_NOTZERO, }}, + {{ K8_NOTZERO, K8_NOTZERO, K8_NOTZERO, K8_NOTZERO, }}, }; #if !defined(__INTEL_COMPILER) && defined(__GNUC__) && __GNUC__==4 && __GNUC_MINOR__<=4 // gcc 4.4 uses a wrong prototype for _mm256_maskstore_pd -- cgit v1.2.3