Le 28/01/2014 09:57, Brice Goglin a écrit :
> I will debug a bit more to see if it's actually a 64bit cpuid problem
> on windows.
The x86 backend is entirely disabled in the 64bit windows build because
configure fails to compile the cpuid assembly (in my mingw64 with gcc 4.7).
It says:
40: Error: unsupported for 'mov'
42: Error: register type mismatch for 'xchg'
and these correspond to:
40: mov %rbx,%ebx
41: cpuid
42: xchg %ebx,%rbx
which come from:
asm(
"mov %%rbx,%2\n\t"
"cpuid\n\t"
"xchg %2,%%rbx\n\t"
"movl %k2,%1\n\t"
: "+a" (*eax), "=m" (*ebx), "=&r"(sav_rbx),
"+c" (*ecx), "=&d" (*edx));
I guess having both ebx and rbx on these lines isn't OK. On Linux, I get
rsi instead of ebx, no problem.
Samuel, any idea?
Brice