EIGEN_CPUID: inconsistent operand constraints in an 'asm' for x64 with -fPIC
Submitted by Michael Schmidt
Assigned to Nobody
Link to original bugzilla bug (#566)
Operating system: Linux
When I try to compile some code for x64 CPU architecture with the -fPIC compiler flag set, I run into the following compile error:
Eigen/src/Core/util/Memory.h: In function 'void Eigen::internal::queryCacheSizes_intel(int&, int&, int&, int)':
Eigen/src/Core/util/Memory.h:771:128: error: inconsistent operand constraints in an 'asm'
Eigen/src/Core/util/Memory.h:800:126: error: inconsistent operand constraints in an 'asm'
Ubuntu Linux 12.04
gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
Eigen 3.1.2 release
I had a look at the various definitions of the EIGEN_CPUID macro and the version that is defined for x86 with -fPIC compiles. However, since I have absolutely no knowledge of asm code, I don't know whether this will also create correct code. Could someone more knowledgeable have a look at this? Since the default branch has the same code, it is likely to also be a problem for the upcoming 3.2 release.