summaryrefslogtreecommitdiff
path: root/numpy/core
diff options
context:
space:
mode:
authorJulian Taylor <jtaylor.debian@googlemail.com>2013-10-16 19:56:12 +0200
committerJulian Taylor <jtaylor.debian@googlemail.com>2013-10-16 20:03:24 +0200
commite31729bb9c7abd08b1815100abab6ca63f71b8bf (patch)
treededf659df74cb8d17e6d5a63ad8dac2443c6f1b6 /numpy/core
parent16236e27f93b3a1b3bf6a58750fdaec68b224420 (diff)
downloadnumpy-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.
Diffstat (limited to 'numpy/core')
-rw-r--r--numpy/core/include/numpy/npy_cpu.h4
-rw-r--r--numpy/core/src/multiarray/lowlevel_strided_loops.c.src2
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