|Summary:||Eigen 3.3.3 does not compile on Windows with __ARM_NEON__ defined|
|Product:||Eigen||Reporter:||Ryan Tremblay <ryan.tremblay>|
|Component:||Core - vectorization||Assignee:||Nobody <eigen.nobody>|
|Severity:||Compilation Problem||CC:||chtz, gael.guennebaud, jacob.benoit.1, markos|
|Version:||3.3 (current stable)|
|Hardware:||ARM - NEON|
Description Ryan Tremblay 2017-05-19 20:01:29 UTC
See http://stackoverflow.com/questions/44033691/is-it-possible-to-use-eigen-3-3-3-on-windows-with-arm-neon-defined When Eigen is used on Windows with __ARM_NEON__ defined, the following compilation error is produced: eigen\src/Core/arch/NEON/PacketMath.h(109): error C2766: explicit specialization; 'Eigen::internal::unpacket_traits<Eigen::internal::Packet4f>' has already been defined Packet4f and Packet4i are defined (in PacketMath.h) as: typedef float32x4_t Packet4f; typedef int32x4_t Packet4i; And float32x4_t and int32x4_t are defined (in MSVC's arm_neon.h) as: typedef __n128 float32x4_t; typedef __n128 int32x4_t; Presumably the preprocessor checks need to be updated to handle this case specifically for MSVC.
Comment 1 Gael Guennebaud 2018-04-24 09:59:35 UTC
here is an attempt to fix the issue: https://bitbucket.org/eigen/eigen/commits/c576f16f3a596 anybody should be able to check the success of it there: https://godbolt.org/g/qPhNgh once the trunk version of Eigen will be updated (nightly).
Comment 2 Christoph Hertzberg 2018-04-24 13:34:01 UTC
This sounds like a problem that could be solved cleaner with Meta-Packets (Bug 692)
Comment 3 Gael Guennebaud 2018-04-26 08:55:22 UTC
another smaller fix: https://bitbucket.org/eigen/eigen/commits/2af650906b57/
Comment 4 Nobody 2019-12-04 16:59:50 UTC
-- GitLab Migration Automatic Message -- This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/1428.