aboutsummaryrefslogtreecommitdiff
path: root/Auxiliary/Cactus/KrancNumericalTools/GenericFD/src/old/Vectors-default.hh
blob: f928ed8aaf7b94493eb3afd4aec9dbbc052da881 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Fallback vectorisation implementation: Do not vectorise



// Use CCTK_REAL
typedef CCTK_REAL CCTK_REAL_VEC;

// Number of vector elements in a CCTK_REAL_VEC
static int const CCTK_REAL_VEC_SIZE = 1;



// We use macros here, so that we are not surprised by compilers which
// don't like to inline functions (e.g. PGI).  This should also make
// debug builds (which may not inline) more efficient.

#define vec_load(p) (p)
#define vec_loadu(p) (p)

// Load a vector from memory that may or may not be aligned, as
// decided by the offset off and the vector size
#define vec_loadu_maybe(off,p) (p)
#define vec_loadu_maybe3(off1,off2,off3,p) (p)

#define vec_store(p,x) ((p)=(x))
#define vec_store_nta(p,x) ((p)=(x))

// Store a lower or higher partial vector (aligned and non-temporal);
// the non-temporal hint is probably ignored
#define vec_store_nta_partial_lo(p,x,n) (assert(0))
#define vec_store_nta_partial_hi(p,x,n) (assert(0))