1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
--- audacity-src-1.2.3/lib-src/soundtouch/source/SoundTouch/cpu_detect_x86_gcc.cpp.orig 2005-07-09 19:49:20.000000000 +0800
+++ audacity-src-1.2.3/lib-src/soundtouch/source/SoundTouch/cpu_detect_x86_gcc.cpp 2005-07-09 20:02:30.000000000 +0800
@@ -86,6 +86,7 @@
"\n\txor %%esi, %%esi" // clear %%esi = result register
// check if 'cpuid' instructions is available by toggling eflags bit 21
+ "\n\tpushl %%ebx"
"\n\tpushf" // save eflags to stack
"\n\tpop %%eax" // load eax from stack (with eflags)
"\n\tmovl %%eax, %%ecx" // save the original eflags values to ecx
@@ -130,11 +131,12 @@
"\n\tend:"
+ "\n\tpopl %%ebx"
"\n\tmov %%esi, %0"
: "=rm" (res)
: /* no inputs */
- : "%edx", "%eax", "%ecx", "%ebx", "%esi" );
+ : "%edx", "%eax", "%ecx", "%esi" );
return res & ~_dwDisabledISA;
#endif
|