Merged with trunk R1612.
[ardour.git] / libs / soundtouch / cpu_detect_x86_gcc.cpp
index b4ccdc2834521c7dd41d29e3a9afa62d9516ab80..b58b80fa06f0a6cadf890bd5190c9d4a2c6ef608 100644 (file)
@@ -80,6 +80,7 @@ uint detectCPUextensions(void)
     if (_dwDisabledISA == 0xffffffff) return 0;
 
     asm volatile(
+        "\n\tpushl   %%ebx"              // store ebx
         "\n\txor     %%esi, %%esi"       // clear %%esi = result register
         // check if 'cpuid' instructions is available by toggling eflags bit 21
 
@@ -128,6 +129,7 @@ uint detectCPUextensions(void)
     "\n\tend:"
 
         "\n\tmov     %%esi, %0"
+       "\n\tpopl    %%ebx"
 
       : "=r" (res)
       : /* no inputs */