mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-09-12 09:23:12 +08:00
fix EIGEN_CPUID for i386 & PIC, still remains to fix the MSVC version
This commit is contained in:
parent
98fec45d3c
commit
8beb60bf63
@ -589,14 +589,15 @@ public:
|
||||
|
||||
#if defined(__GNUC__)
|
||||
# if defined(__PIC__) && defined(__i386__)
|
||||
# define EIGEN_CPUID(abcd,func) \
|
||||
__asm__ __volatile__ ("xchgl %%ebx, %%esi;cpuid; xchgl %%ebx,%%esi": "=a" (abcd[0]), "=S" (abcd[1]), "=c" (abcd[2]), "=d" (abcd[3]) : "a" (func));
|
||||
# define EIGEN_CPUID(abcd,func,id) \
|
||||
__asm__ __volatile__ ("xchgl %%ebx, %%esi;cpuid; xchgl %%ebx,%%esi": "=a" (abcd[0]), "=S" (abcd[1]), "=c" (abcd[2]), "=d" (abcd[3]) : "a" (func), "c" (id));
|
||||
# else
|
||||
# define EIGEN_CPUID(abcd,func,id) \
|
||||
__asm__ __volatile__ ("cpuid": "=a" (abcd[0]), "=b" (abcd[1]), "=c" (abcd[2]), "=d" (abcd[3]) : "a" (func), "c" (id) );
|
||||
# endif
|
||||
#elif defined(_MSC_VER)
|
||||
# define EIGEN_CPUID(abcd,func) __cpuid((int*)abcd,func)
|
||||
// TODO fix MSVC cpuid
|
||||
// #elif defined(_MSC_VER)
|
||||
// # define EIGEN_CPUID(abcd,func) __cpuid((int*)abcd,func)
|
||||
#endif
|
||||
|
||||
inline bool ei_cpuid_is_vendor(int abcd[4], const char* vendor)
|
||||
|
Loading…
x
Reference in New Issue
Block a user