diff options
author | Julian Taylor <jtaylor.debian@googlemail.com> | 2013-10-16 19:56:12 +0200 |
---|---|---|
committer | Julian Taylor <jtaylor.debian@googlemail.com> | 2013-10-16 20:03:24 +0200 |
commit | e31729bb9c7abd08b1815100abab6ca63f71b8bf (patch) | |
tree | dedf659df74cb8d17e6d5a63ad8dac2443c6f1b6 | |
parent | 16236e27f93b3a1b3bf6a58750fdaec68b224420 (diff) | |
download | numpy-e31729bb9c7abd08b1815100abab6ca63f71b8bf.tar.gz |
MAINT: add NPY_CPU_HAVE_UNALIGNED_ACCESS macro
currently only i386 and amd64, must be used carefully as the compiler
may still be allowed to assume alignment and try to vectorize based on
type size alignment.
-rw-r--r-- | numpy/core/include/numpy/npy_cpu.h | 4 | ||||
-rw-r--r-- | numpy/core/src/multiarray/lowlevel_strided_loops.c.src | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/numpy/core/include/numpy/npy_cpu.h b/numpy/core/include/numpy/npy_cpu.h index ab14731b8..6773d3258 100644 --- a/numpy/core/include/numpy/npy_cpu.h +++ b/numpy/core/include/numpy/npy_cpu.h @@ -108,4 +108,8 @@ #endif #endif +#if (defined(NPY_CPU_X86) || defined(NPY_CPU_AMD64)) +#define NPY_CPU_HAVE_UNALIGNED_ACCESS +#endif + #endif diff --git a/numpy/core/src/multiarray/lowlevel_strided_loops.c.src b/numpy/core/src/multiarray/lowlevel_strided_loops.c.src index e9820a5e4..759b36c20 100644 --- a/numpy/core/src/multiarray/lowlevel_strided_loops.c.src +++ b/numpy/core/src/multiarray/lowlevel_strided_loops.c.src @@ -39,7 +39,7 @@ * instructions (16 byte). * So this flag can only be enabled if autovectorization is disabled. */ -#if (defined(NPY_CPU_X86) || defined(NPY_CPU_AMD64)) +#ifdef NPY_CPU_HAVE_UNALIGNED_ACCESS # define NPY_USE_UNALIGNED_ACCESS 0 #else # define NPY_USE_UNALIGNED_ACCESS 0 |