Added initial NEON support, most tests pass however we had to use some hackish workarounds

as gcc on ARM (both CodeSourcery 4.4.1 used and experimental 4.5) fail to
ensure proper alignment with __attribute__((aligned(16))). This has to be
fixed upstream to remove the workarounds.
This commit is contained in:
Konstantinos Margaritis
2010-03-03 11:25:41 -06:00
parent 45d19afb18
commit 112c550b4a
12 changed files with 423 additions and 5 deletions

View File

@@ -50,6 +50,12 @@ struct ei_matrix_array
ei_matrix_array(ei_constructor_without_unaligned_array_assert) {}
};
// FIXME!!! This is a hack because ARM gcc does not honour __attribute__((aligned(16))) properly
#ifdef __ARM_NEON__
#ifndef EIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT
#define EIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT
#endif
#endif
#ifdef EIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT
#define EIGEN_MAKE_UNALIGNED_ARRAY_ASSERT(sizemask)
#else