Eigen在ARM上的使用

2019-07-12 23:14发布

Eigen是有关线性代数(矩阵、向量等)的c++模板库。支持SSE2/3/4,ARM NEON (32-bit and 64-bit), PowerPC AltiVec/VSX (32-bit and 64-bit) instruction sets, S390x SIMD (ZVector). x86使用-msse2编译选项 
x86-64默认支持SSE2 
32-bit ARM NEON使用-mfpu=neon -mfloat-abi=softfp|hard 
64-bit ARM SIMD默认支持
http://blog.csdn.net/xmdxcsj/article/details/52643891
On GCC and clang you can simply pass -march=native to let the compiler enables all instruction set that are supported by your CPU.
n 32-bit ARM NEON, the following: -mfpu=neon -mfloat-abi=softfp|hard, depending if you are on a softfp/hardfp system. Most current distributions are using a hard floating-point ABI, so go for the latter, or just leave the default and just pass -mfpu=neon.
Make sure the EIGEN_DONT_VECTORIZE preprocessor symbol not defined.
-mfloat-abi=softfp的问题,指定fpu为neon