diff -uarN fftw-3.0.1.old/dft/k7/k7.c fftw-3.0.1/dft/k7/k7.c --- fftw-3.0.1.old/dft/k7/k7.c 2007-04-18 10:05:40.000000000 +0400 +++ fftw-3.0.1/dft/k7/k7.c 2007-04-18 10:08:57.000000000 +0400 @@ -28,7 +28,7 @@ { int eax, ecx, edx; - __asm__("push %%ebx\n\tcpuid\n\tpop %%ebx" + __asm__("push %%rbx\n\tcpuid\n\tpop %%rbx" : "=a" (eax), "=c" (ecx), "=d" (edx) : "a" (op)); return edx; @@ -38,7 +38,7 @@ { int eax, ecx, edx; - __asm__("push %%ebx\n\tcpuid\n\tpop %%ebx" + __asm__("push %%rbx\n\tcpuid\n\tpop %%rbx" : "=a" (eax), "=c" (ecx), "=d" (edx) : "a" (op)); return eax; diff -uarN fftw-3.0.1.old/simd/3dnow.c fftw-3.0.1/simd/3dnow.c --- fftw-3.0.1.old/simd/3dnow.c 2007-04-18 10:05:41.000000000 +0400 +++ fftw-3.0.1/simd/3dnow.c 2007-04-18 10:08:31.000000000 +0400 @@ -29,7 +29,7 @@ { int eax, ecx, edx; - __asm__("push %%ebx\n\tcpuid\n\tpop %%ebx" + __asm__("push %%rbx\n\tcpuid\n\tpop %%rbx" : "=a" (eax), "=c" (ecx), "=d" (edx) : "a" (op)); return edx; @@ -39,7 +39,7 @@ { int eax, ecx, edx; - __asm__("push %%ebx\n\tcpuid\n\tpop %%ebx" + __asm__("push %%rbx\n\tcpuid\n\tpop %%rbx" : "=a" (eax), "=c" (ecx), "=d" (edx) : "a" (op)); return eax; diff -uarN fftw-3.0.1.old/simd/sse2.c fftw-3.0.1/simd/sse2.c --- fftw-3.0.1.old/simd/sse2.c 2007-04-18 10:05:41.000000000 +0400 +++ fftw-3.0.1/simd/sse2.c 2007-04-18 10:08:14.000000000 +0400 @@ -43,7 +43,7 @@ #else int eax, ecx, edx; - __asm__("push %%ebx\n\tcpuid\n\tpop %%ebx" + __asm__("push %%rbx\n\tcpuid\n\tpop %%rbx" : "=a" (eax), "=c" (ecx), "=d" (edx) : "a" (op)); return edx; diff -uarN fftw-3.0.1.old/simd/sse.c fftw-3.0.1/simd/sse.c --- fftw-3.0.1.old/simd/sse.c 2007-04-18 10:05:41.000000000 +0400 +++ fftw-3.0.1/simd/sse.c 2007-04-18 10:08:04.000000000 +0400 @@ -43,7 +43,7 @@ #else int eax, ecx, edx; - __asm__("push %%ebx\n\tcpuid\n\tpop %%ebx" + __asm__("push %%rbx\n\tcpuid\n\tpop %%rbx" : "=a" (eax), "=c" (ecx), "=d" (edx) : "a" (op)); return edx;