diff options
-rw-r--r-- | configure.ac | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 18ece291..f12f0aa9 100644 --- a/configure.ac +++ b/configure.ac @@ -691,6 +691,18 @@ AS_IF([test x"$enable_intrinsics" = x"yes"],[ unsigned int CPUInfo2; unsigned int CPUInfo3; unsigned int InfoType; + #if defined(__i386__) && defined(__PIC__) + __asm__ __volatile__ ( + "xchg %%ebx, %1\n" + "cpuid\n" + "xchg %%ebx, %1\n": + "=a" (CPUInfo0), + "=r" (CPUInfo1), + "=c" (CPUInfo2), + "=d" (CPUInfo3) : + "a" (InfoType), "c" (0) + ); + #else __asm__ __volatile__ ( "cpuid": "=a" (CPUInfo0), @@ -699,6 +711,7 @@ AS_IF([test x"$enable_intrinsics" = x"yes"],[ "=d" (CPUInfo3) : "a" (InfoType), "c" (0) ); + #endif ]])], [get_cpuid_by_asm="yes" AC_MSG_RESULT([Inline Assembly]) |