ARM Aarch64 + Clang/LLVM 3.5 will not compile with vectorization
Submitted by Emil Fresk
Assigned to Nobody
Link to original bugzilla bug (#1325)
Version: 3.3 (current stable)
Operating system: Linux
Description
- Sniped from the forum post about the same problem, but put here for official handling *
I am testing latest Eigen on an ODROID-C2 board (ARM Aarch64) and I am getting the following error when compiling with Clang 3.5.0:
"""
In file included from .../eigen3/Eigen/Core:355:
.../eigen3/Eigen/src/Core/arch/NEON/Complex.h:286:35: error: statement expression not allowed at file scope
static uint64x2_t p2ul_CONJ_XOR = vld1q_u64( p2ul_conj_XOR_DATA );
^
/usr/include/clang/3.5.0/include/arm_neon.h:7624:39: note: expanded from macro 'vld1q_u64'
#define vld1q_u64(__p0) extension ({ \
^
1 error generated.
"""
It seems that there is a problem when instantiating the vectorization macros that sadly I am not enough familiar with to suggest a fix.
This error is not present in 3.2.xx.
Also, in https://github.com/tensorflow/tensorflow/issues/3065 they have a workaround for this problem.