changeset 31215:d0f70692a140

Make 3dnow and MMX code compile for 64 bit (just stupid search-and-replace). They are not compiled/enabled on 64 bit though, since they are vastly slower but would still be selected by default.
author reimar
date Sun, 30 May 2010 10:01:40 +0000
parents 0bdd15feba42
children 207ecac1f8e1
files mp3lib/dct36_3dnow.c mp3lib/dct64_3dnow.c mp3lib/dct64_k7.c mp3lib/dct64_mmx.c
diffstat 4 files changed, 1748 insertions(+), 1744 deletions(-) [+]
line wrap: on
line diff
--- a/mp3lib/dct36_3dnow.c	Sun May 30 09:47:53 2010 +0000
+++ b/mp3lib/dct36_3dnow.c	Sun May 30 10:01:40 2010 +0000
@@ -30,6 +30,7 @@
 #include "config.h"
 #include "mangle.h"
 #include "mpg123.h"
+#include "libavutil/x86_cpu.h"
 
 #ifdef DCT36_OPTIMIZE_FOR_K7
 void dct36_3dnowex(real *inbuf, real *o1,
@@ -40,123 +41,123 @@
 #endif
 {
     __asm__ volatile(
-        "movq (%%eax),%%mm0\n\t"
-        "movq 4(%%eax),%%mm1\n\t"
+        "movq (%%"REG_a"),%%mm0\n\t"
+        "movq 4(%%"REG_a"),%%mm1\n\t"
         "pfadd %%mm1,%%mm0\n\t"
-        "movq %%mm0,4(%%eax)\n\t"
+        "movq %%mm0,4(%%"REG_a")\n\t"
         "psrlq $32,%%mm1\n\t"
-        "movq 12(%%eax),%%mm2\n\t"
+        "movq 12(%%"REG_a"),%%mm2\n\t"
         "punpckldq %%mm2,%%mm1\n\t"
         "pfadd %%mm2,%%mm1\n\t"
-        "movq %%mm1,12(%%eax)\n\t"
+        "movq %%mm1,12(%%"REG_a")\n\t"
         "psrlq $32,%%mm2\n\t"
-        "movq 20(%%eax),%%mm3\n\t"
+        "movq 20(%%"REG_a"),%%mm3\n\t"
         "punpckldq %%mm3,%%mm2\n\t"
         "pfadd %%mm3,%%mm2\n\t"
-        "movq %%mm2,20(%%eax)\n\t"
+        "movq %%mm2,20(%%"REG_a")\n\t"
         "psrlq $32,%%mm3\n\t"
-        "movq 28(%%eax),%%mm4\n\t"
+        "movq 28(%%"REG_a"),%%mm4\n\t"
         "punpckldq %%mm4,%%mm3\n\t"
         "pfadd %%mm4,%%mm3\n\t"
-        "movq %%mm3,28(%%eax)\n\t"
+        "movq %%mm3,28(%%"REG_a")\n\t"
         "psrlq $32,%%mm4\n\t"
-        "movq 36(%%eax),%%mm5\n\t"
+        "movq 36(%%"REG_a"),%%mm5\n\t"
         "punpckldq %%mm5,%%mm4\n\t"
         "pfadd %%mm5,%%mm4\n\t"
-        "movq %%mm4,36(%%eax)\n\t"
+        "movq %%mm4,36(%%"REG_a")\n\t"
         "psrlq $32,%%mm5\n\t"
-        "movq 44(%%eax),%%mm6\n\t"
+        "movq 44(%%"REG_a"),%%mm6\n\t"
         "punpckldq %%mm6,%%mm5\n\t"
         "pfadd %%mm6,%%mm5\n\t"
-        "movq %%mm5,44(%%eax)\n\t"
+        "movq %%mm5,44(%%"REG_a")\n\t"
         "psrlq $32,%%mm6\n\t"
-        "movq 52(%%eax),%%mm7\n\t"
+        "movq 52(%%"REG_a"),%%mm7\n\t"
         "punpckldq %%mm7,%%mm6\n\t"
         "pfadd %%mm7,%%mm6\n\t"
-        "movq %%mm6,52(%%eax)\n\t"
+        "movq %%mm6,52(%%"REG_a")\n\t"
         "psrlq $32,%%mm7\n\t"
-        "movq 60(%%eax),%%mm0\n\t"
+        "movq 60(%%"REG_a"),%%mm0\n\t"
         "punpckldq %%mm0,%%mm7\n\t"
         "pfadd %%mm0,%%mm7\n\t"
-        "movq %%mm7,60(%%eax)\n\t"
+        "movq %%mm7,60(%%"REG_a")\n\t"
         "psrlq $32,%%mm0\n\t"
-        "movd 68(%%eax),%%mm1\n\t"
+        "movd 68(%%"REG_a"),%%mm1\n\t"
         "pfadd %%mm1,%%mm0\n\t"
-        "movd %%mm0,68(%%eax)\n\t"
-        "movd 4(%%eax),%%mm0\n\t"
-        "movd 12(%%eax),%%mm1\n\t"
+        "movd %%mm0,68(%%"REG_a")\n\t"
+        "movd 4(%%"REG_a"),%%mm0\n\t"
+        "movd 12(%%"REG_a"),%%mm1\n\t"
         "punpckldq %%mm1,%%mm0\n\t"
-        "punpckldq 20(%%eax),%%mm1\n\t"
+        "punpckldq 20(%%"REG_a"),%%mm1\n\t"
         "pfadd %%mm1,%%mm0\n\t"
-        "movd %%mm0,12(%%eax)\n\t"
+        "movd %%mm0,12(%%"REG_a")\n\t"
         "psrlq $32,%%mm0\n\t"
-        "movd %%mm0,20(%%eax)\n\t"
+        "movd %%mm0,20(%%"REG_a")\n\t"
         "psrlq $32,%%mm1\n\t"
-        "movd 28(%%eax),%%mm2\n\t"
+        "movd 28(%%"REG_a"),%%mm2\n\t"
         "punpckldq %%mm2,%%mm1\n\t"
-        "punpckldq 36(%%eax),%%mm2\n\t"
+        "punpckldq 36(%%"REG_a"),%%mm2\n\t"
         "pfadd %%mm2,%%mm1\n\t"
-        "movd %%mm1,28(%%eax)\n\t"
+        "movd %%mm1,28(%%"REG_a")\n\t"
         "psrlq $32,%%mm1\n\t"
-        "movd %%mm1,36(%%eax)\n\t"
+        "movd %%mm1,36(%%"REG_a")\n\t"
         "psrlq $32,%%mm2\n\t"
-        "movd 44(%%eax),%%mm3\n\t"
+        "movd 44(%%"REG_a"),%%mm3\n\t"
         "punpckldq %%mm3,%%mm2\n\t"
-        "punpckldq 52(%%eax),%%mm3\n\t"
+        "punpckldq 52(%%"REG_a"),%%mm3\n\t"
         "pfadd %%mm3,%%mm2\n\t"
-        "movd %%mm2,44(%%eax)\n\t"
+        "movd %%mm2,44(%%"REG_a")\n\t"
         "psrlq $32,%%mm2\n\t"
-        "movd %%mm2,52(%%eax)\n\t"
+        "movd %%mm2,52(%%"REG_a")\n\t"
         "psrlq $32,%%mm3\n\t"
-        "movd 60(%%eax),%%mm4\n\t"
+        "movd 60(%%"REG_a"),%%mm4\n\t"
         "punpckldq %%mm4,%%mm3\n\t"
-        "punpckldq 68(%%eax),%%mm4\n\t"
+        "punpckldq 68(%%"REG_a"),%%mm4\n\t"
         "pfadd %%mm4,%%mm3\n\t"
-        "movd %%mm3,60(%%eax)\n\t"
+        "movd %%mm3,60(%%"REG_a")\n\t"
         "psrlq $32,%%mm3\n\t"
-        "movd %%mm3,68(%%eax)\n\t"
+        "movd %%mm3,68(%%"REG_a")\n\t"
 
-        "movq 24(%%eax),%%mm0\n\t"
-        "movq 48(%%eax),%%mm1\n\t"
+        "movq 24(%%"REG_a"),%%mm0\n\t"
+        "movq 48(%%"REG_a"),%%mm1\n\t"
         "movd "MANGLE(COS9)"+12,%%mm2\n\t"
         "punpckldq %%mm2,%%mm2\n\t"
         "movd "MANGLE(COS9)"+24,%%mm3\n\t"
         "punpckldq %%mm3,%%mm3\n\t"
         "pfmul %%mm2,%%mm0\n\t"
         "pfmul %%mm3,%%mm1\n\t"
-        "pushl %%eax\n\t"
+        "push %%"REG_a"\n\t"
         "movl $1,%%eax\n\t"
         "movd %%eax,%%mm7\n\t"
         "pi2fd %%mm7,%%mm7\n\t"
-        "popl %%eax\n\t"
-        "movq 8(%%eax),%%mm2\n\t"
+        "pop %%"REG_a"\n\t"
+        "movq 8(%%"REG_a"),%%mm2\n\t"
         "movd "MANGLE(COS9)"+4,%%mm3\n\t"
         "punpckldq %%mm3,%%mm3\n\t"
         "pfmul %%mm3,%%mm2\n\t"
         "pfadd %%mm0,%%mm2\n\t"
-        "movq 40(%%eax),%%mm3\n\t"
+        "movq 40(%%"REG_a"),%%mm3\n\t"
         "movd "MANGLE(COS9)"+20,%%mm4\n\t"
         "punpckldq %%mm4,%%mm4\n\t"
         "pfmul %%mm4,%%mm3\n\t"
         "pfadd %%mm3,%%mm2\n\t"
-        "movq 56(%%eax),%%mm3\n\t"
+        "movq 56(%%"REG_a"),%%mm3\n\t"
         "movd "MANGLE(COS9)"+28,%%mm4\n\t"
         "punpckldq %%mm4,%%mm4\n\t"
         "pfmul %%mm4,%%mm3\n\t"
         "pfadd %%mm3,%%mm2\n\t"
-        "movq (%%eax),%%mm3\n\t"
-        "movq 16(%%eax),%%mm4\n\t"
+        "movq (%%"REG_a"),%%mm3\n\t"
+        "movq 16(%%"REG_a"),%%mm4\n\t"
         "movd "MANGLE(COS9)"+8,%%mm5\n\t"
         "punpckldq %%mm5,%%mm5\n\t"
         "pfmul %%mm5,%%mm4\n\t"
         "pfadd %%mm4,%%mm3\n\t"
-        "movq 32(%%eax),%%mm4\n\t"
+        "movq 32(%%"REG_a"),%%mm4\n\t"
         "movd "MANGLE(COS9)"+16,%%mm5\n\t"
         "punpckldq %%mm5,%%mm5\n\t"
         "pfmul %%mm5,%%mm4\n\t"
         "pfadd %%mm4,%%mm3\n\t"
         "pfadd %%mm1,%%mm3\n\t"
-        "movq 64(%%eax),%%mm4\n\t"
+        "movq 64(%%"REG_a"),%%mm4\n\t"
         "movd "MANGLE(COS9)"+32,%%mm5\n\t"
         "punpckldq %%mm5,%%mm5\n\t"
         "pfmul %%mm5,%%mm4\n\t"
@@ -168,30 +169,30 @@
         "pfmul %%mm5,%%mm4\n\t"
         "movq %%mm4,%%mm5\n\t"
         "pfacc %%mm5,%%mm5\n\t"
-        "movd 108(%%edx),%%mm6\n\t"
-        "punpckldq 104(%%edx),%%mm6\n\t"
+        "movd 108(%%"REG_d"),%%mm6\n\t"
+        "punpckldq 104(%%"REG_d"),%%mm6\n\t"
         "pfmul %%mm6,%%mm5\n\t"
 #ifdef DCT36_OPTIMIZE_FOR_K7
         "pswapd %%mm5,%%mm5\n\t"
-        "movq %%mm5,32(%%ecx)\n\t"
+        "movq %%mm5,32(%%"REG_c")\n\t"
 #else
-        "movd %%mm5,36(%%ecx)\n\t"
+        "movd %%mm5,36(%%"REG_c")\n\t"
         "psrlq $32,%%mm5\n\t"
-        "movd %%mm5,32(%%ecx)\n\t"
+        "movd %%mm5,32(%%"REG_c")\n\t"
 #endif
         "movq %%mm4,%%mm6\n\t"
         "punpckldq %%mm6,%%mm5\n\t"
         "pfsub %%mm6,%%mm5\n\t"
         "punpckhdq %%mm5,%%mm5\n\t"
-        "movd 32(%%edx),%%mm6\n\t"
-        "punpckldq 36(%%edx),%%mm6\n\t"
+        "movd 32(%%"REG_d"),%%mm6\n\t"
+        "punpckldq 36(%%"REG_d"),%%mm6\n\t"
         "pfmul %%mm6,%%mm5\n\t"
-        "movd 32(%%esi),%%mm6\n\t"
-        "punpckldq 36(%%esi),%%mm6\n\t"
+        "movd 32(%%"REG_S"),%%mm6\n\t"
+        "punpckldq 36(%%"REG_S"),%%mm6\n\t"
         "pfadd %%mm6,%%mm5\n\t"
-        "movd %%mm5,1024(%%edi)\n\t"
+        "movd %%mm5,1024(%%"REG_D")\n\t"
         "psrlq $32,%%mm5\n\t"
-        "movd %%mm5,1152(%%edi)\n\t"
+        "movd %%mm5,1152(%%"REG_D")\n\t"
         "movq %%mm3,%%mm4\n\t"
         "pfsub %%mm2,%%mm4\n\t"
         "movq %%mm7,%%mm5\n\t"
@@ -199,44 +200,44 @@
         "pfmul %%mm5,%%mm4\n\t"
         "movq %%mm4,%%mm5\n\t"
         "pfacc %%mm5,%%mm5\n\t"
-        "movd 140(%%edx),%%mm6\n\t"
-        "punpckldq 72(%%edx),%%mm6\n\t"
+        "movd 140(%%"REG_d"),%%mm6\n\t"
+        "punpckldq 72(%%"REG_d"),%%mm6\n\t"
         "pfmul %%mm6,%%mm5\n\t"
-        "movd %%mm5,68(%%ecx)\n\t"
+        "movd %%mm5,68(%%"REG_c")\n\t"
         "psrlq $32,%%mm5\n\t"
-        "movd %%mm5,0(%%ecx)\n\t"
+        "movd %%mm5,0(%%"REG_c")\n\t"
         "movq %%mm4,%%mm6\n\t"
         "punpckldq %%mm6,%%mm5\n\t"
         "pfsub %%mm6,%%mm5\n\t"
         "punpckhdq %%mm5,%%mm5\n\t"
-        "movd 0(%%edx),%%mm6\n\t"
-        "punpckldq 68(%%edx),%%mm6\n\t"
+        "movd 0(%%"REG_d"),%%mm6\n\t"
+        "punpckldq 68(%%"REG_d"),%%mm6\n\t"
         "pfmul %%mm6,%%mm5\n\t"
-        "movd 0(%%esi),%%mm6\n\t"
-        "punpckldq 68(%%esi),%%mm6\n\t"
+        "movd 0(%%"REG_S"),%%mm6\n\t"
+        "punpckldq 68(%%"REG_S"),%%mm6\n\t"
         "pfadd %%mm6,%%mm5\n\t"
-        "movd %%mm5,0(%%edi)\n\t"
+        "movd %%mm5,0(%%"REG_D")\n\t"
         "psrlq $32,%%mm5\n\t"
-        "movd %%mm5,2176(%%edi)\n\t"
-        "movq 8(%%eax),%%mm2\n\t"
-        "movq 40(%%eax),%%mm3\n\t"
+        "movd %%mm5,2176(%%"REG_D")\n\t"
+        "movq 8(%%"REG_a"),%%mm2\n\t"
+        "movq 40(%%"REG_a"),%%mm3\n\t"
         "pfsub %%mm3,%%mm2\n\t"
-        "movq 56(%%eax),%%mm3\n\t"
+        "movq 56(%%"REG_a"),%%mm3\n\t"
         "pfsub %%mm3,%%mm2\n\t"
         "movd "MANGLE(COS9)"+12,%%mm3\n\t"
         "punpckldq %%mm3,%%mm3\n\t"
         "pfmul %%mm3,%%mm2\n\t"
-        "movq 16(%%eax),%%mm3\n\t"
-        "movq 32(%%eax),%%mm4\n\t"
+        "movq 16(%%"REG_a"),%%mm3\n\t"
+        "movq 32(%%"REG_a"),%%mm4\n\t"
         "pfsub %%mm4,%%mm3\n\t"
-        "movq 64(%%eax),%%mm4\n\t"
+        "movq 64(%%"REG_a"),%%mm4\n\t"
         "pfsub %%mm4,%%mm3\n\t"
         "movd "MANGLE(COS9)"+24,%%mm4\n\t"
         "punpckldq %%mm4,%%mm4\n\t"
         "pfmul %%mm4,%%mm3\n\t"
-        "movq 48(%%eax),%%mm4\n\t"
+        "movq 48(%%"REG_a"),%%mm4\n\t"
         "pfsub %%mm4,%%mm3\n\t"
-        "movq (%%eax),%%mm4\n\t"
+        "movq (%%"REG_a"),%%mm4\n\t"
         "pfadd %%mm4,%%mm3\n\t"
         "movq %%mm2,%%mm4\n\t"
         "pfadd %%mm3,%%mm4\n\t"
@@ -245,25 +246,25 @@
         "pfmul %%mm5,%%mm4\n\t"
         "movq %%mm4,%%mm5\n\t"
         "pfacc %%mm5,%%mm5\n\t"
-        "movd 112(%%edx),%%mm6\n\t"
-        "punpckldq 100(%%edx),%%mm6\n\t"
+        "movd 112(%%"REG_d"),%%mm6\n\t"
+        "punpckldq 100(%%"REG_d"),%%mm6\n\t"
         "pfmul %%mm6,%%mm5\n\t"
-        "movd %%mm5,40(%%ecx)\n\t"
+        "movd %%mm5,40(%%"REG_c")\n\t"
         "psrlq $32,%%mm5\n\t"
-        "movd %%mm5,28(%%ecx)\n\t"
+        "movd %%mm5,28(%%"REG_c")\n\t"
         "movq %%mm4,%%mm6\n\t"
         "punpckldq %%mm6,%%mm5\n\t"
         "pfsub %%mm6,%%mm5\n\t"
         "punpckhdq %%mm5,%%mm5\n\t"
-        "movd 28(%%edx),%%mm6\n\t"
-        "punpckldq 40(%%edx),%%mm6\n\t"
+        "movd 28(%%"REG_d"),%%mm6\n\t"
+        "punpckldq 40(%%"REG_d"),%%mm6\n\t"
         "pfmul %%mm6,%%mm5\n\t"
-        "movd 28(%%esi),%%mm6\n\t"
-        "punpckldq 40(%%esi),%%mm6\n\t"
+        "movd 28(%%"REG_S"),%%mm6\n\t"
+        "punpckldq 40(%%"REG_S"),%%mm6\n\t"
         "pfadd %%mm6,%%mm5\n\t"
-        "movd %%mm5,896(%%edi)\n\t"
+        "movd %%mm5,896(%%"REG_D")\n\t"
         "psrlq $32,%%mm5\n\t"
-        "movd %%mm5,1280(%%edi)\n\t"
+        "movd %%mm5,1280(%%"REG_D")\n\t"
         "movq %%mm3,%%mm4\n\t"
         "pfsub %%mm2,%%mm4\n\t"
         "movq %%mm7,%%mm5\n\t"
@@ -271,54 +272,54 @@
         "pfmul %%mm5,%%mm4\n\t"
         "movq %%mm4,%%mm5\n\t"
         "pfacc %%mm5,%%mm5\n\t"
-        "movd 136(%%edx),%%mm6\n\t"
-        "punpckldq 76(%%edx),%%mm6\n\t"
+        "movd 136(%%"REG_d"),%%mm6\n\t"
+        "punpckldq 76(%%"REG_d"),%%mm6\n\t"
         "pfmul %%mm6,%%mm5\n\t"
-        "movd %%mm5,64(%%ecx)\n\t"
+        "movd %%mm5,64(%%"REG_c")\n\t"
         "psrlq $32,%%mm5\n\t"
-        "movd %%mm5,4(%%ecx)\n\t"
+        "movd %%mm5,4(%%"REG_c")\n\t"
         "movq %%mm4,%%mm6\n\t"
         "punpckldq %%mm6,%%mm5\n\t"
         "pfsub %%mm6,%%mm5\n\t"
         "punpckhdq %%mm5,%%mm5\n\t"
-        "movd 4(%%edx),%%mm6\n\t"
-        "punpckldq 64(%%edx),%%mm6\n\t"
+        "movd 4(%%"REG_d"),%%mm6\n\t"
+        "punpckldq 64(%%"REG_d"),%%mm6\n\t"
         "pfmul %%mm6,%%mm5\n\t"
-        "movd 4(%%esi),%%mm6\n\t"
-        "punpckldq 64(%%esi),%%mm6\n\t"
+        "movd 4(%%"REG_S"),%%mm6\n\t"
+        "punpckldq 64(%%"REG_S"),%%mm6\n\t"
         "pfadd %%mm6,%%mm5\n\t"
-        "movd %%mm5,128(%%edi)\n\t"
+        "movd %%mm5,128(%%"REG_D")\n\t"
         "psrlq $32,%%mm5\n\t"
-        "movd %%mm5,2048(%%edi)\n\t"
+        "movd %%mm5,2048(%%"REG_D")\n\t"
 
-        "movq 8(%%eax),%%mm2\n\t"
+        "movq 8(%%"REG_a"),%%mm2\n\t"
         "movd "MANGLE(COS9)"+20,%%mm3\n\t"
         "punpckldq %%mm3,%%mm3\n\t"
         "pfmul %%mm3,%%mm2\n\t"
         "pfsub %%mm0,%%mm2\n\t"
-        "movq 40(%%eax),%%mm3\n\t"
+        "movq 40(%%"REG_a"),%%mm3\n\t"
         "movd "MANGLE(COS9)"+28,%%mm4\n\t"
         "punpckldq %%mm4,%%mm4\n\t"
         "pfmul %%mm4,%%mm3\n\t"
         "pfsub %%mm3,%%mm2\n\t"
-        "movq 56(%%eax),%%mm3\n\t"
+        "movq 56(%%"REG_a"),%%mm3\n\t"
         "movd "MANGLE(COS9)"+4,%%mm4\n\t"
         "punpckldq %%mm4,%%mm4\n\t"
         "pfmul %%mm4,%%mm3\n\t"
         "pfadd %%mm3,%%mm2\n\t"
-        "movq (%%eax),%%mm3\n\t"
-        "movq 16(%%eax),%%mm4\n\t"
+        "movq (%%"REG_a"),%%mm3\n\t"
+        "movq 16(%%"REG_a"),%%mm4\n\t"
         "movd "MANGLE(COS9)"+32,%%mm5\n\t"
         "punpckldq %%mm5,%%mm5\n\t"
         "pfmul %%mm5,%%mm4\n\t"
         "pfsub %%mm4,%%mm3\n\t"
-        "movq 32(%%eax),%%mm4\n\t"
+        "movq 32(%%"REG_a"),%%mm4\n\t"
         "movd "MANGLE(COS9)"+8,%%mm5\n\t"
         "punpckldq %%mm5,%%mm5\n\t"
         "pfmul %%mm5,%%mm4\n\t"
         "pfsub %%mm4,%%mm3\n\t"
         "pfadd %%mm1,%%mm3\n\t"
-        "movq 64(%%eax),%%mm4\n\t"
+        "movq 64(%%"REG_a"),%%mm4\n\t"
         "movd "MANGLE(COS9)"+16,%%mm5\n\t"
         "punpckldq %%mm5,%%mm5\n\t"
         "pfmul %%mm5,%%mm4\n\t"
@@ -330,25 +331,25 @@
         "pfmul %%mm5,%%mm4\n\t"
         "movq %%mm4,%%mm5\n\t"
         "pfacc %%mm5,%%mm5\n\t"
-        "movd 116(%%edx),%%mm6\n\t"
-        "punpckldq 96(%%edx),%%mm6\n\t"
+        "movd 116(%%"REG_d"),%%mm6\n\t"
+        "punpckldq 96(%%"REG_d"),%%mm6\n\t"
         "pfmul %%mm6,%%mm5\n\t"
-        "movd %%mm5,44(%%ecx)\n\t"
+        "movd %%mm5,44(%%"REG_c")\n\t"
         "psrlq $32,%%mm5\n\t"
-        "movd %%mm5,24(%%ecx)\n\t"
+        "movd %%mm5,24(%%"REG_c")\n\t"
         "movq %%mm4,%%mm6\n\t"
         "punpckldq %%mm6,%%mm5\n\t"
         "pfsub %%mm6,%%mm5\n\t"
         "punpckhdq %%mm5,%%mm5\n\t"
-        "movd 24(%%edx),%%mm6\n\t"
-        "punpckldq 44(%%edx),%%mm6\n\t"
+        "movd 24(%%"REG_d"),%%mm6\n\t"
+        "punpckldq 44(%%"REG_d"),%%mm6\n\t"
         "pfmul %%mm6,%%mm5\n\t"
-        "movd 24(%%esi),%%mm6\n\t"
-        "punpckldq 44(%%esi),%%mm6\n\t"
+        "movd 24(%%"REG_S"),%%mm6\n\t"
+        "punpckldq 44(%%"REG_S"),%%mm6\n\t"
         "pfadd %%mm6,%%mm5\n\t"
-        "movd %%mm5,768(%%edi)\n\t"
+        "movd %%mm5,768(%%"REG_D")\n\t"
         "psrlq $32,%%mm5\n\t"
-        "movd %%mm5,1408(%%edi)\n\t"
+        "movd %%mm5,1408(%%"REG_D")\n\t"
         "movq %%mm3,%%mm4\n\t"
         "pfsub %%mm2,%%mm4\n\t"
         "movq %%mm7,%%mm5\n\t"
@@ -356,53 +357,53 @@
         "pfmul %%mm5,%%mm4\n\t"
         "movq %%mm4,%%mm5\n\t"
         "pfacc %%mm5,%%mm5\n\t"
-        "movd 132(%%edx),%%mm6\n\t"
-        "punpckldq 80(%%edx),%%mm6\n\t"
+        "movd 132(%%"REG_d"),%%mm6\n\t"
+        "punpckldq 80(%%"REG_d"),%%mm6\n\t"
         "pfmul %%mm6,%%mm5\n\t"
-        "movd %%mm5,60(%%ecx)\n\t"
+        "movd %%mm5,60(%%"REG_c")\n\t"
         "psrlq $32,%%mm5\n\t"
-        "movd %%mm5,8(%%ecx)\n\t"
+        "movd %%mm5,8(%%"REG_c")\n\t"
         "movq %%mm4,%%mm6\n\t"
         "punpckldq %%mm6,%%mm5\n\t"
         "pfsub %%mm6,%%mm5\n\t"
         "punpckhdq %%mm5,%%mm5\n\t"
-        "movd 8(%%edx),%%mm6\n\t"
-        "punpckldq 60(%%edx),%%mm6\n\t"
+        "movd 8(%%"REG_d"),%%mm6\n\t"
+        "punpckldq 60(%%"REG_d"),%%mm6\n\t"
         "pfmul %%mm6,%%mm5\n\t"
-        "movd 8(%%esi),%%mm6\n\t"
-        "punpckldq 60(%%esi),%%mm6\n\t"
+        "movd 8(%%"REG_S"),%%mm6\n\t"
+        "punpckldq 60(%%"REG_S"),%%mm6\n\t"
         "pfadd %%mm6,%%mm5\n\t"
-        "movd %%mm5,256(%%edi)\n\t"
+        "movd %%mm5,256(%%"REG_D")\n\t"
         "psrlq $32,%%mm5\n\t"
-        "movd %%mm5,1920(%%edi)\n\t"
-        "movq 8(%%eax),%%mm2\n\t"
+        "movd %%mm5,1920(%%"REG_D")\n\t"
+        "movq 8(%%"REG_a"),%%mm2\n\t"
         "movd "MANGLE(COS9)"+28,%%mm3\n\t"
         "punpckldq %%mm3,%%mm3\n\t"
         "pfmul %%mm3,%%mm2\n\t"
         "pfsub %%mm0,%%mm2\n\t"
-        "movq 40(%%eax),%%mm3\n\t"
+        "movq 40(%%"REG_a"),%%mm3\n\t"
         "movd "MANGLE(COS9)"+4,%%mm4\n\t"
         "punpckldq %%mm4,%%mm4\n\t"
         "pfmul %%mm4,%%mm3\n\t"
         "pfadd %%mm3,%%mm2\n\t"
-        "movq 56(%%eax),%%mm3\n\t"
+        "movq 56(%%"REG_a"),%%mm3\n\t"
         "movd "MANGLE(COS9)"+20,%%mm4\n\t"
         "punpckldq %%mm4,%%mm4\n\t"
         "pfmul %%mm4,%%mm3\n\t"
         "pfsub %%mm3,%%mm2\n\t"
-        "movq (%%eax),%%mm3\n\t"
-        "movq 16(%%eax),%%mm4\n\t"
+        "movq (%%"REG_a"),%%mm3\n\t"
+        "movq 16(%%"REG_a"),%%mm4\n\t"
         "movd "MANGLE(COS9)"+16,%%mm5\n\t"
         "punpckldq %%mm5,%%mm5\n\t"
         "pfmul %%mm5,%%mm4\n\t"
         "pfsub %%mm4,%%mm3\n\t"
-        "movq 32(%%eax),%%mm4\n\t"
+        "movq 32(%%"REG_a"),%%mm4\n\t"
         "movd "MANGLE(COS9)"+32,%%mm5\n\t"
         "punpckldq %%mm5,%%mm5\n\t"
         "pfmul %%mm5,%%mm4\n\t"
         "pfadd %%mm4,%%mm3\n\t"
         "pfadd %%mm1,%%mm3\n\t"
-        "movq 64(%%eax),%%mm4\n\t"
+        "movq 64(%%"REG_a"),%%mm4\n\t"
         "movd "MANGLE(COS9)"+8,%%mm5\n\t"
         "punpckldq %%mm5,%%mm5\n\t"
         "pfmul %%mm5,%%mm4\n\t"
@@ -414,25 +415,25 @@
         "pfmul %%mm5,%%mm4\n\t"
         "movq %%mm4,%%mm5\n\t"
         "pfacc %%mm5,%%mm5\n\t"
-        "movd 120(%%edx),%%mm6\n\t"
-        "punpckldq 92(%%edx),%%mm6\n\t"
+        "movd 120(%%"REG_d"),%%mm6\n\t"
+        "punpckldq 92(%%"REG_d"),%%mm6\n\t"
         "pfmul %%mm6,%%mm5\n\t"
-        "movd %%mm5,48(%%ecx)\n\t"
+        "movd %%mm5,48(%%"REG_c")\n\t"
         "psrlq $32,%%mm5\n\t"
-        "movd %%mm5,20(%%ecx)\n\t"
+        "movd %%mm5,20(%%"REG_c")\n\t"
         "movq %%mm4,%%mm6\n\t"
         "punpckldq %%mm6,%%mm5\n\t"
         "pfsub %%mm6,%%mm5\n\t"
         "punpckhdq %%mm5,%%mm5\n\t"
-        "movd 20(%%edx),%%mm6\n\t"
-        "punpckldq 48(%%edx),%%mm6\n\t"
+        "movd 20(%%"REG_d"),%%mm6\n\t"
+        "punpckldq 48(%%"REG_d"),%%mm6\n\t"
         "pfmul %%mm6,%%mm5\n\t"
-        "movd 20(%%esi),%%mm6\n\t"
-        "punpckldq 48(%%esi),%%mm6\n\t"
+        "movd 20(%%"REG_S"),%%mm6\n\t"
+        "punpckldq 48(%%"REG_S"),%%mm6\n\t"
         "pfadd %%mm6,%%mm5\n\t"
-        "movd %%mm5,640(%%edi)\n\t"
+        "movd %%mm5,640(%%"REG_D")\n\t"
         "psrlq $32,%%mm5\n\t"
-        "movd %%mm5,1536(%%edi)\n\t"
+        "movd %%mm5,1536(%%"REG_D")\n\t"
         "movq %%mm3,%%mm4\n\t"
         "pfsub %%mm2,%%mm4\n\t"
         "movq %%mm7,%%mm5\n\t"
@@ -440,59 +441,59 @@
         "pfmul %%mm5,%%mm4\n\t"
         "movq %%mm4,%%mm5\n\t"
         "pfacc %%mm5,%%mm5\n\t"
-        "movd 128(%%edx),%%mm6\n\t"
-        "punpckldq 84(%%edx),%%mm6\n\t"
+        "movd 128(%%"REG_d"),%%mm6\n\t"
+        "punpckldq 84(%%"REG_d"),%%mm6\n\t"
         "pfmul %%mm6,%%mm5\n\t"
-        "movd %%mm5,56(%%ecx)\n\t"
+        "movd %%mm5,56(%%"REG_c")\n\t"
         "psrlq $32,%%mm5\n\t"
-        "movd %%mm5,12(%%ecx)\n\t"
+        "movd %%mm5,12(%%"REG_c")\n\t"
         "movq %%mm4,%%mm6\n\t"
         "punpckldq %%mm6,%%mm5\n\t"
         "pfsub %%mm6,%%mm5\n\t"
         "punpckhdq %%mm5,%%mm5\n\t"
-        "movd 12(%%edx),%%mm6\n\t"
-        "punpckldq 56(%%edx),%%mm6\n\t"
+        "movd 12(%%"REG_d"),%%mm6\n\t"
+        "punpckldq 56(%%"REG_d"),%%mm6\n\t"
         "pfmul %%mm6,%%mm5\n\t"
-        "movd 12(%%esi),%%mm6\n\t"
-        "punpckldq 56(%%esi),%%mm6\n\t"
+        "movd 12(%%"REG_S"),%%mm6\n\t"
+        "punpckldq 56(%%"REG_S"),%%mm6\n\t"
         "pfadd %%mm6,%%mm5\n\t"
-        "movd %%mm5,384(%%edi)\n\t"
+        "movd %%mm5,384(%%"REG_D")\n\t"
         "psrlq $32,%%mm5\n\t"
-        "movd %%mm5,1792(%%edi)\n\t"
+        "movd %%mm5,1792(%%"REG_D")\n\t"
 
-        "movq (%%eax),%%mm4\n\t"
-        "movq 16(%%eax),%%mm3\n\t"
+        "movq (%%"REG_a"),%%mm4\n\t"
+        "movq 16(%%"REG_a"),%%mm3\n\t"
         "pfsub %%mm3,%%mm4\n\t"
-        "movq 32(%%eax),%%mm3\n\t"
+        "movq 32(%%"REG_a"),%%mm3\n\t"
         "pfadd %%mm3,%%mm4\n\t"
-        "movq 48(%%eax),%%mm3\n\t"
+        "movq 48(%%"REG_a"),%%mm3\n\t"
         "pfsub %%mm3,%%mm4\n\t"
-        "movq 64(%%eax),%%mm3\n\t"
+        "movq 64(%%"REG_a"),%%mm3\n\t"
         "pfadd %%mm3,%%mm4\n\t"
         "movq %%mm7,%%mm5\n\t"
         "punpckldq "MANGLE(tfcos36)"+16,%%mm5\n\t"
         "pfmul %%mm5,%%mm4\n\t"
         "movq %%mm4,%%mm5\n\t"
         "pfacc %%mm5,%%mm5\n\t"
-        "movd 124(%%edx),%%mm6\n\t"
-        "punpckldq 88(%%edx),%%mm6\n\t"
+        "movd 124(%%"REG_d"),%%mm6\n\t"
+        "punpckldq 88(%%"REG_d"),%%mm6\n\t"
         "pfmul %%mm6,%%mm5\n\t"
-        "movd %%mm5,52(%%ecx)\n\t"
+        "movd %%mm5,52(%%"REG_c")\n\t"
         "psrlq $32,%%mm5\n\t"
-        "movd %%mm5,16(%%ecx)\n\t"
+        "movd %%mm5,16(%%"REG_c")\n\t"
         "movq %%mm4,%%mm6\n\t"
         "punpckldq %%mm6,%%mm5\n\t"
         "pfsub %%mm6,%%mm5\n\t"
         "punpckhdq %%mm5,%%mm5\n\t"
-        "movd 16(%%edx),%%mm6\n\t"
-        "punpckldq 52(%%edx),%%mm6\n\t"
+        "movd 16(%%"REG_d"),%%mm6\n\t"
+        "punpckldq 52(%%"REG_d"),%%mm6\n\t"
         "pfmul %%mm6,%%mm5\n\t"
-        "movd 16(%%esi),%%mm6\n\t"
-        "punpckldq 52(%%esi),%%mm6\n\t"
+        "movd 16(%%"REG_S"),%%mm6\n\t"
+        "punpckldq 52(%%"REG_S"),%%mm6\n\t"
         "pfadd %%mm6,%%mm5\n\t"
-        "movd %%mm5,512(%%edi)\n\t"
+        "movd %%mm5,512(%%"REG_D")\n\t"
         "psrlq $32,%%mm5\n\t"
-        "movd %%mm5,1664(%%edi)\n\t"
+        "movd %%mm5,1664(%%"REG_D")\n\t"
 
         "femms\n\t"
         :
--- a/mp3lib/dct64_3dnow.c	Sun May 30 09:47:53 2010 +0000
+++ b/mp3lib/dct64_3dnow.c	Sun May 30 10:01:40 2010 +0000
@@ -11,6 +11,7 @@
 #include "config.h"
 #include "mangle.h"
 #include "mpg123.h"
+#include "libavutil/x86_cpu.h"
 
 static unsigned long long int attribute_used __attribute__((aligned(8))) x_plus_minus_3dnow = 0x8000000000000000ULL;
 static float attribute_used plus_1f = 1.0;
@@ -19,21 +20,21 @@
 {
   char tmp[256];
     __asm__ volatile(
-"       movl %2,%%eax\n\t"
+"       mov %2,%%"REG_a"\n\t"
 
-"       leal 128+%3,%%edx\n\t"
-"       movl %0,%%esi\n\t"
-"       movl %1,%%edi\n\t"
-"       movl $"MANGLE(costab_mmx)",%%ebx\n\t"
-"       leal %3,%%ecx\n\t"
+"       lea 128+%3,%%"REG_d"\n\t"
+"       mov %0,%%"REG_S"\n\t"
+"       mov %1,%%"REG_D"\n\t"
+"       mov $"MANGLE(costab_mmx)",%%"REG_b"\n\t"
+"       lea %3,%%"REG_c"\n\t"
 
 /* Phase 1*/
-"       movq    (%%eax), %%mm0\n\t"
-"       movq    8(%%eax), %%mm4\n\t"
+"       movq    (%%"REG_a"), %%mm0\n\t"
+"       movq    8(%%"REG_a"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       movq    120(%%eax), %%mm1\n\t"
-"       movq    112(%%eax), %%mm5\n\t"
+"       movq    120(%%"REG_a"), %%mm1\n\t"
+"       movq    112(%%"REG_a"), %%mm5\n\t"
 /* n.b.: pswapd*/
 "       movq    %%mm1, %%mm2\n\t"
 "       movq    %%mm5, %%mm6\n\t"
@@ -44,25 +45,25 @@
 /**/
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, (%%edx)\n\t"
-"       movq    %%mm4, 8(%%edx)\n\t"
+"       movq    %%mm0, (%%"REG_d")\n\t"
+"       movq    %%mm4, 8(%%"REG_d")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsub   %%mm5, %%mm7\n\t"
-"       pfmul   (%%ebx), %%mm3\n\t"
-"       pfmul   8(%%ebx), %%mm7\n\t"
-"       movd    %%mm3, 124(%%edx)\n\t"
-"       movd    %%mm7, 116(%%edx)\n\t"
+"       pfmul   (%%"REG_b"), %%mm3\n\t"
+"       pfmul   8(%%"REG_b"), %%mm7\n\t"
+"       movd    %%mm3, 124(%%"REG_d")\n\t"
+"       movd    %%mm7, 116(%%"REG_d")\n\t"
 "       psrlq   $32, %%mm3\n\t"
 "       psrlq   $32, %%mm7\n\t"
-"       movd    %%mm3, 120(%%edx)\n\t"
-"       movd    %%mm7, 112(%%edx)\n\t"
+"       movd    %%mm3, 120(%%"REG_d")\n\t"
+"       movd    %%mm7, 112(%%"REG_d")\n\t"
 
-"       movq    16(%%eax), %%mm0\n\t"
-"       movq    24(%%eax), %%mm4\n\t"
+"       movq    16(%%"REG_a"), %%mm0\n\t"
+"       movq    24(%%"REG_a"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       movq    104(%%eax), %%mm1\n\t"
-"       movq    96(%%eax), %%mm5\n\t"
+"       movq    104(%%"REG_a"), %%mm1\n\t"
+"       movq    96(%%"REG_a"), %%mm5\n\t"
 /* n.b.: pswapd*/
 "       movq    %%mm1, %%mm2\n\t"
 "       movq    %%mm5, %%mm6\n\t"
@@ -73,25 +74,25 @@
 /**/
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 16(%%edx)\n\t"
-"       movq    %%mm4, 24(%%edx)\n\t"
+"       movq    %%mm0, 16(%%"REG_d")\n\t"
+"       movq    %%mm4, 24(%%"REG_d")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsub   %%mm5, %%mm7\n\t"
-"       pfmul   16(%%ebx), %%mm3\n\t"
-"       pfmul   24(%%ebx), %%mm7\n\t"
-"       movd    %%mm3, 108(%%edx)\n\t"
-"       movd    %%mm7, 100(%%edx)\n\t"
+"       pfmul   16(%%"REG_b"), %%mm3\n\t"
+"       pfmul   24(%%"REG_b"), %%mm7\n\t"
+"       movd    %%mm3, 108(%%"REG_d")\n\t"
+"       movd    %%mm7, 100(%%"REG_d")\n\t"
 "       psrlq   $32, %%mm3\n\t"
 "       psrlq   $32, %%mm7\n\t"
-"       movd    %%mm3, 104(%%edx)\n\t"
-"       movd    %%mm7, 96(%%edx)\n\t"
+"       movd    %%mm3, 104(%%"REG_d")\n\t"
+"       movd    %%mm7, 96(%%"REG_d")\n\t"
 
-"       movq    32(%%eax), %%mm0\n\t"
-"       movq    40(%%eax), %%mm4\n\t"
+"       movq    32(%%"REG_a"), %%mm0\n\t"
+"       movq    40(%%"REG_a"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       movq    88(%%eax), %%mm1\n\t"
-"       movq    80(%%eax), %%mm5\n\t"
+"       movq    88(%%"REG_a"), %%mm1\n\t"
+"       movq    80(%%"REG_a"), %%mm5\n\t"
 /* n.b.: pswapd*/
 "       movq    %%mm1, %%mm2\n\t"
 "       movq    %%mm5, %%mm6\n\t"
@@ -102,25 +103,25 @@
 /**/
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 32(%%edx)\n\t"
-"       movq    %%mm4, 40(%%edx)\n\t"
+"       movq    %%mm0, 32(%%"REG_d")\n\t"
+"       movq    %%mm4, 40(%%"REG_d")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsub   %%mm5, %%mm7\n\t"
-"       pfmul   32(%%ebx), %%mm3\n\t"
-"       pfmul   40(%%ebx), %%mm7\n\t"
-"       movd    %%mm3, 92(%%edx)\n\t"
-"       movd    %%mm7, 84(%%edx)\n\t"
+"       pfmul   32(%%"REG_b"), %%mm3\n\t"
+"       pfmul   40(%%"REG_b"), %%mm7\n\t"
+"       movd    %%mm3, 92(%%"REG_d")\n\t"
+"       movd    %%mm7, 84(%%"REG_d")\n\t"
 "       psrlq   $32, %%mm3\n\t"
 "       psrlq   $32, %%mm7\n\t"
-"       movd    %%mm3, 88(%%edx)\n\t"
-"       movd    %%mm7, 80(%%edx)\n\t"
+"       movd    %%mm3, 88(%%"REG_d")\n\t"
+"       movd    %%mm7, 80(%%"REG_d")\n\t"
 
-"       movq    48(%%eax), %%mm0\n\t"
-"       movq    56(%%eax), %%mm4\n\t"
+"       movq    48(%%"REG_a"), %%mm0\n\t"
+"       movq    56(%%"REG_a"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       movq    72(%%eax), %%mm1\n\t"
-"       movq    64(%%eax), %%mm5\n\t"
+"       movq    72(%%"REG_a"), %%mm1\n\t"
+"       movq    64(%%"REG_a"), %%mm5\n\t"
 /* n.b.: pswapd*/
 "       movq    %%mm1, %%mm2\n\t"
 "       movq    %%mm5, %%mm6\n\t"
@@ -131,27 +132,27 @@
 /**/
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 48(%%edx)\n\t"
-"       movq    %%mm4, 56(%%edx)\n\t"
+"       movq    %%mm0, 48(%%"REG_d")\n\t"
+"       movq    %%mm4, 56(%%"REG_d")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsub   %%mm5, %%mm7\n\t"
-"       pfmul   48(%%ebx), %%mm3\n\t"
-"       pfmul   56(%%ebx), %%mm7\n\t"
-"       movd    %%mm3, 76(%%edx)\n\t"
-"       movd    %%mm7, 68(%%edx)\n\t"
+"       pfmul   48(%%"REG_b"), %%mm3\n\t"
+"       pfmul   56(%%"REG_b"), %%mm7\n\t"
+"       movd    %%mm3, 76(%%"REG_d")\n\t"
+"       movd    %%mm7, 68(%%"REG_d")\n\t"
 "       psrlq   $32, %%mm3\n\t"
 "       psrlq   $32, %%mm7\n\t"
-"       movd    %%mm3, 72(%%edx)\n\t"
-"       movd    %%mm7, 64(%%edx)\n\t"
+"       movd    %%mm3, 72(%%"REG_d")\n\t"
+"       movd    %%mm7, 64(%%"REG_d")\n\t"
 
 /* Phase 2*/
 
-"       movq    (%%edx), %%mm0\n\t"
-"       movq    8(%%edx), %%mm4\n\t"
+"       movq    (%%"REG_d"), %%mm0\n\t"
+"       movq    8(%%"REG_d"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       movq    56(%%edx), %%mm1\n\t"
-"       movq    48(%%edx), %%mm5\n\t"
+"       movq    56(%%"REG_d"), %%mm1\n\t"
+"       movq    48(%%"REG_d"), %%mm5\n\t"
 /* n.b.: pswapd*/
 "       movq    %%mm1, %%mm2\n\t"
 "       movq    %%mm5, %%mm6\n\t"
@@ -162,25 +163,25 @@
 /**/
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, (%%ecx)\n\t"
-"       movq    %%mm4, 8(%%ecx)\n\t"
+"       movq    %%mm0, (%%"REG_c")\n\t"
+"       movq    %%mm4, 8(%%"REG_c")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsub   %%mm5, %%mm7\n\t"
-"       pfmul   64(%%ebx), %%mm3\n\t"
-"       pfmul   72(%%ebx), %%mm7\n\t"
-"       movd    %%mm3, 60(%%ecx)\n\t"
-"       movd    %%mm7, 52(%%ecx)\n\t"
+"       pfmul   64(%%"REG_b"), %%mm3\n\t"
+"       pfmul   72(%%"REG_b"), %%mm7\n\t"
+"       movd    %%mm3, 60(%%"REG_c")\n\t"
+"       movd    %%mm7, 52(%%"REG_c")\n\t"
 "       psrlq   $32, %%mm3\n\t"
 "       psrlq   $32, %%mm7\n\t"
-"       movd    %%mm3, 56(%%ecx)\n\t"
-"       movd    %%mm7, 48(%%ecx)\n\t"
+"       movd    %%mm3, 56(%%"REG_c")\n\t"
+"       movd    %%mm7, 48(%%"REG_c")\n\t"
 
-"       movq    16(%%edx), %%mm0\n\t"
-"       movq    24(%%edx), %%mm4\n\t"
+"       movq    16(%%"REG_d"), %%mm0\n\t"
+"       movq    24(%%"REG_d"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       movq    40(%%edx), %%mm1\n\t"
-"       movq    32(%%edx), %%mm5\n\t"
+"       movq    40(%%"REG_d"), %%mm1\n\t"
+"       movq    32(%%"REG_d"), %%mm5\n\t"
 /* n.b.: pswapd*/
 "       movq    %%mm1, %%mm2\n\t"
 "       movq    %%mm5, %%mm6\n\t"
@@ -191,27 +192,27 @@
 /**/
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 16(%%ecx)\n\t"
-"       movq    %%mm4, 24(%%ecx)\n\t"
+"       movq    %%mm0, 16(%%"REG_c")\n\t"
+"       movq    %%mm4, 24(%%"REG_c")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsub   %%mm5, %%mm7\n\t"
-"       pfmul   80(%%ebx), %%mm3\n\t"
-"       pfmul   88(%%ebx), %%mm7\n\t"
-"       movd    %%mm3, 44(%%ecx)\n\t"
-"       movd    %%mm7, 36(%%ecx)\n\t"
+"       pfmul   80(%%"REG_b"), %%mm3\n\t"
+"       pfmul   88(%%"REG_b"), %%mm7\n\t"
+"       movd    %%mm3, 44(%%"REG_c")\n\t"
+"       movd    %%mm7, 36(%%"REG_c")\n\t"
 "       psrlq   $32, %%mm3\n\t"
 "       psrlq   $32, %%mm7\n\t"
-"       movd    %%mm3, 40(%%ecx)\n\t"
-"       movd    %%mm7, 32(%%ecx)\n\t"
+"       movd    %%mm3, 40(%%"REG_c")\n\t"
+"       movd    %%mm7, 32(%%"REG_c")\n\t"
 
 /* Phase 3*/
 
-"       movq    64(%%edx), %%mm0\n\t"
-"       movq    72(%%edx), %%mm4\n\t"
+"       movq    64(%%"REG_d"), %%mm0\n\t"
+"       movq    72(%%"REG_d"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       movq    120(%%edx), %%mm1\n\t"
-"       movq    112(%%edx), %%mm5\n\t"
+"       movq    120(%%"REG_d"), %%mm1\n\t"
+"       movq    112(%%"REG_d"), %%mm5\n\t"
 /* n.b.: pswapd*/
 "       movq    %%mm1, %%mm2\n\t"
 "       movq    %%mm5, %%mm6\n\t"
@@ -222,25 +223,25 @@
 /**/
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 64(%%ecx)\n\t"
-"       movq    %%mm4, 72(%%ecx)\n\t"
+"       movq    %%mm0, 64(%%"REG_c")\n\t"
+"       movq    %%mm4, 72(%%"REG_c")\n\t"
 "       pfsubr  %%mm1, %%mm3\n\t"
 "       pfsubr  %%mm5, %%mm7\n\t"
-"       pfmul   64(%%ebx), %%mm3\n\t"
-"       pfmul   72(%%ebx), %%mm7\n\t"
-"       movd    %%mm3, 124(%%ecx)\n\t"
-"       movd    %%mm7, 116(%%ecx)\n\t"
+"       pfmul   64(%%"REG_b"), %%mm3\n\t"
+"       pfmul   72(%%"REG_b"), %%mm7\n\t"
+"       movd    %%mm3, 124(%%"REG_c")\n\t"
+"       movd    %%mm7, 116(%%"REG_c")\n\t"
 "       psrlq   $32, %%mm3\n\t"
 "       psrlq   $32, %%mm7\n\t"
-"       movd    %%mm3, 120(%%ecx)\n\t"
-"       movd    %%mm7, 112(%%ecx)\n\t"
+"       movd    %%mm3, 120(%%"REG_c")\n\t"
+"       movd    %%mm7, 112(%%"REG_c")\n\t"
 
-"       movq    80(%%edx), %%mm0\n\t"
-"       movq    88(%%edx), %%mm4\n\t"
+"       movq    80(%%"REG_d"), %%mm0\n\t"
+"       movq    88(%%"REG_d"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       movq    104(%%edx), %%mm1\n\t"
-"       movq    96(%%edx), %%mm5\n\t"
+"       movq    104(%%"REG_d"), %%mm1\n\t"
+"       movq    96(%%"REG_d"), %%mm5\n\t"
 /* n.b.: pswapd*/
 "       movq    %%mm1, %%mm2\n\t"
 "       movq    %%mm5, %%mm6\n\t"
@@ -251,27 +252,27 @@
 /**/
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 80(%%ecx)\n\t"
-"       movq    %%mm4, 88(%%ecx)\n\t"
+"       movq    %%mm0, 80(%%"REG_c")\n\t"
+"       movq    %%mm4, 88(%%"REG_c")\n\t"
 "       pfsubr  %%mm1, %%mm3\n\t"
 "       pfsubr  %%mm5, %%mm7\n\t"
-"       pfmul   80(%%ebx), %%mm3\n\t"
-"       pfmul   88(%%ebx), %%mm7\n\t"
-"       movd    %%mm3, 108(%%ecx)\n\t"
-"       movd    %%mm7, 100(%%ecx)\n\t"
+"       pfmul   80(%%"REG_b"), %%mm3\n\t"
+"       pfmul   88(%%"REG_b"), %%mm7\n\t"
+"       movd    %%mm3, 108(%%"REG_c")\n\t"
+"       movd    %%mm7, 100(%%"REG_c")\n\t"
 "       psrlq   $32, %%mm3\n\t"
 "       psrlq   $32, %%mm7\n\t"
-"       movd    %%mm3, 104(%%ecx)\n\t"
-"       movd    %%mm7, 96(%%ecx)\n\t"
+"       movd    %%mm3, 104(%%"REG_c")\n\t"
+"       movd    %%mm7, 96(%%"REG_c")\n\t"
 
 /* Phase 4*/
 
-"       movq    (%%ecx), %%mm0\n\t"
-"       movq    8(%%ecx), %%mm4\n\t"
+"       movq    (%%"REG_c"), %%mm0\n\t"
+"       movq    8(%%"REG_c"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       movq    24(%%ecx), %%mm1\n\t"
-"       movq    16(%%ecx), %%mm5\n\t"
+"       movq    24(%%"REG_c"), %%mm1\n\t"
+"       movq    16(%%"REG_c"), %%mm5\n\t"
 /* n.b.: pswapd*/
 "       movq    %%mm1, %%mm2\n\t"
 "       movq    %%mm5, %%mm6\n\t"
@@ -282,25 +283,25 @@
 /**/
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, (%%edx)\n\t"
-"       movq    %%mm4, 8(%%edx)\n\t"
+"       movq    %%mm0, (%%"REG_d")\n\t"
+"       movq    %%mm4, 8(%%"REG_d")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsub   %%mm5, %%mm7\n\t"
-"       pfmul   96(%%ebx), %%mm3\n\t"
-"       pfmul   104(%%ebx), %%mm7\n\t"
-"       movd    %%mm3, 28(%%edx)\n\t"
-"       movd    %%mm7, 20(%%edx)\n\t"
+"       pfmul   96(%%"REG_b"), %%mm3\n\t"
+"       pfmul   104(%%"REG_b"), %%mm7\n\t"
+"       movd    %%mm3, 28(%%"REG_d")\n\t"
+"       movd    %%mm7, 20(%%"REG_d")\n\t"
 "       psrlq   $32, %%mm3\n\t"
 "       psrlq   $32, %%mm7\n\t"
-"       movd    %%mm3, 24(%%edx)\n\t"
-"       movd    %%mm7, 16(%%edx)\n\t"
+"       movd    %%mm3, 24(%%"REG_d")\n\t"
+"       movd    %%mm7, 16(%%"REG_d")\n\t"
 
-"       movq    32(%%ecx), %%mm0\n\t"
-"       movq    40(%%ecx), %%mm4\n\t"
+"       movq    32(%%"REG_c"), %%mm0\n\t"
+"       movq    40(%%"REG_c"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       movq    56(%%ecx), %%mm1\n\t"
-"       movq    48(%%ecx), %%mm5\n\t"
+"       movq    56(%%"REG_c"), %%mm1\n\t"
+"       movq    48(%%"REG_c"), %%mm5\n\t"
 /* n.b.: pswapd*/
 "       movq    %%mm1, %%mm2\n\t"
 "       movq    %%mm5, %%mm6\n\t"
@@ -311,25 +312,25 @@
 /**/
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 32(%%edx)\n\t"
-"       movq    %%mm4, 40(%%edx)\n\t"
+"       movq    %%mm0, 32(%%"REG_d")\n\t"
+"       movq    %%mm4, 40(%%"REG_d")\n\t"
 "       pfsubr  %%mm1, %%mm3\n\t"
 "       pfsubr  %%mm5, %%mm7\n\t"
-"       pfmul   96(%%ebx), %%mm3\n\t"
-"       pfmul   104(%%ebx), %%mm7\n\t"
-"       movd    %%mm3, 60(%%edx)\n\t"
-"       movd    %%mm7, 52(%%edx)\n\t"
+"       pfmul   96(%%"REG_b"), %%mm3\n\t"
+"       pfmul   104(%%"REG_b"), %%mm7\n\t"
+"       movd    %%mm3, 60(%%"REG_d")\n\t"
+"       movd    %%mm7, 52(%%"REG_d")\n\t"
 "       psrlq   $32, %%mm3\n\t"
 "       psrlq   $32, %%mm7\n\t"
-"       movd    %%mm3, 56(%%edx)\n\t"
-"       movd    %%mm7, 48(%%edx)\n\t"
+"       movd    %%mm3, 56(%%"REG_d")\n\t"
+"       movd    %%mm7, 48(%%"REG_d")\n\t"
 
-"       movq    64(%%ecx), %%mm0\n\t"
-"       movq    72(%%ecx), %%mm4\n\t"
+"       movq    64(%%"REG_c"), %%mm0\n\t"
+"       movq    72(%%"REG_c"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       movq    88(%%ecx), %%mm1\n\t"
-"       movq    80(%%ecx), %%mm5\n\t"
+"       movq    88(%%"REG_c"), %%mm1\n\t"
+"       movq    80(%%"REG_c"), %%mm5\n\t"
 /* n.b.: pswapd*/
 "       movq    %%mm1, %%mm2\n\t"
 "       movq    %%mm5, %%mm6\n\t"
@@ -340,25 +341,25 @@
 /**/
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 64(%%edx)\n\t"
-"       movq    %%mm4, 72(%%edx)\n\t"
+"       movq    %%mm0, 64(%%"REG_d")\n\t"
+"       movq    %%mm4, 72(%%"REG_d")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsub   %%mm5, %%mm7\n\t"
-"       pfmul   96(%%ebx), %%mm3\n\t"
-"       pfmul   104(%%ebx), %%mm7\n\t"
-"       movd    %%mm3, 92(%%edx)\n\t"
-"       movd    %%mm7, 84(%%edx)\n\t"
+"       pfmul   96(%%"REG_b"), %%mm3\n\t"
+"       pfmul   104(%%"REG_b"), %%mm7\n\t"
+"       movd    %%mm3, 92(%%"REG_d")\n\t"
+"       movd    %%mm7, 84(%%"REG_d")\n\t"
 "       psrlq   $32, %%mm3\n\t"
 "       psrlq   $32, %%mm7\n\t"
-"       movd    %%mm3, 88(%%edx)\n\t"
-"       movd    %%mm7, 80(%%edx)\n\t"
+"       movd    %%mm3, 88(%%"REG_d")\n\t"
+"       movd    %%mm7, 80(%%"REG_d")\n\t"
 
-"       movq    96(%%ecx), %%mm0\n\t"
-"       movq    104(%%ecx), %%mm4\n\t"
+"       movq    96(%%"REG_c"), %%mm0\n\t"
+"       movq    104(%%"REG_c"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       movq    120(%%ecx), %%mm1\n\t"
-"       movq    112(%%ecx), %%mm5\n\t"
+"       movq    120(%%"REG_c"), %%mm1\n\t"
+"       movq    112(%%"REG_c"), %%mm5\n\t"
 /* n.b.: pswapd*/
 "       movq    %%mm1, %%mm2\n\t"
 "       movq    %%mm5, %%mm6\n\t"
@@ -369,27 +370,27 @@
 /**/
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 96(%%edx)\n\t"
-"       movq    %%mm4, 104(%%edx)\n\t"
+"       movq    %%mm0, 96(%%"REG_d")\n\t"
+"       movq    %%mm4, 104(%%"REG_d")\n\t"
 "       pfsubr  %%mm1, %%mm3\n\t"
 "       pfsubr  %%mm5, %%mm7\n\t"
-"       pfmul   96(%%ebx), %%mm3\n\t"
-"       pfmul   104(%%ebx), %%mm7\n\t"
-"       movd    %%mm3, 124(%%edx)\n\t"
-"       movd    %%mm7, 116(%%edx)\n\t"
+"       pfmul   96(%%"REG_b"), %%mm3\n\t"
+"       pfmul   104(%%"REG_b"), %%mm7\n\t"
+"       movd    %%mm3, 124(%%"REG_d")\n\t"
+"       movd    %%mm7, 116(%%"REG_d")\n\t"
 "       psrlq   $32, %%mm3\n\t"
 "       psrlq   $32, %%mm7\n\t"
-"       movd    %%mm3, 120(%%edx)\n\t"
-"       movd    %%mm7, 112(%%edx)\n\t"
+"       movd    %%mm3, 120(%%"REG_d")\n\t"
+"       movd    %%mm7, 112(%%"REG_d")\n\t"
 
 /* Phase 5 */
 
-"       movq    (%%edx), %%mm0\n\t"
-"       movq    16(%%edx), %%mm4\n\t"
+"       movq    (%%"REG_d"), %%mm0\n\t"
+"       movq    16(%%"REG_d"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       movq    8(%%edx), %%mm1\n\t"
-"       movq    24(%%edx), %%mm5\n\t"
+"       movq    8(%%"REG_d"), %%mm1\n\t"
+"       movq    24(%%"REG_d"), %%mm5\n\t"
 /* n.b.: pswapd*/
 "       movq    %%mm1, %%mm2\n\t"
 "       movq    %%mm5, %%mm6\n\t"
@@ -400,25 +401,25 @@
 /**/
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, (%%ecx)\n\t"
-"       movq    %%mm4, 16(%%ecx)\n\t"
+"       movq    %%mm0, (%%"REG_c")\n\t"
+"       movq    %%mm4, 16(%%"REG_c")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsubr  %%mm5, %%mm7\n\t"
-"       pfmul   112(%%ebx), %%mm3\n\t"
-"       pfmul   112(%%ebx), %%mm7\n\t"
-"       movd    %%mm3, 12(%%ecx)\n\t"
-"       movd    %%mm7, 28(%%ecx)\n\t"
+"       pfmul   112(%%"REG_b"), %%mm3\n\t"
+"       pfmul   112(%%"REG_b"), %%mm7\n\t"
+"       movd    %%mm3, 12(%%"REG_c")\n\t"
+"       movd    %%mm7, 28(%%"REG_c")\n\t"
 "       psrlq   $32, %%mm3\n\t"
 "       psrlq   $32, %%mm7\n\t"
-"       movd    %%mm3, 8(%%ecx)\n\t"
-"       movd    %%mm7, 24(%%ecx)\n\t"
+"       movd    %%mm3, 8(%%"REG_c")\n\t"
+"       movd    %%mm7, 24(%%"REG_c")\n\t"
 
-"       movq    32(%%edx), %%mm0\n\t"
-"       movq    48(%%edx), %%mm4\n\t"
+"       movq    32(%%"REG_d"), %%mm0\n\t"
+"       movq    48(%%"REG_d"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       movq    40(%%edx), %%mm1\n\t"
-"       movq    56(%%edx), %%mm5\n\t"
+"       movq    40(%%"REG_d"), %%mm1\n\t"
+"       movq    56(%%"REG_d"), %%mm5\n\t"
 /* n.b.: pswapd*/
 "       movq    %%mm1, %%mm2\n\t"
 "       movq    %%mm5, %%mm6\n\t"
@@ -429,25 +430,25 @@
 /**/
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 32(%%ecx)\n\t"
-"       movq    %%mm4, 48(%%ecx)\n\t"
+"       movq    %%mm0, 32(%%"REG_c")\n\t"
+"       movq    %%mm4, 48(%%"REG_c")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsubr  %%mm5, %%mm7\n\t"
-"       pfmul   112(%%ebx), %%mm3\n\t"
-"       pfmul   112(%%ebx), %%mm7\n\t"
-"       movd    %%mm3, 44(%%ecx)\n\t"
-"       movd    %%mm7, 60(%%ecx)\n\t"
+"       pfmul   112(%%"REG_b"), %%mm3\n\t"
+"       pfmul   112(%%"REG_b"), %%mm7\n\t"
+"       movd    %%mm3, 44(%%"REG_c")\n\t"
+"       movd    %%mm7, 60(%%"REG_c")\n\t"
 "       psrlq   $32, %%mm3\n\t"
 "       psrlq   $32, %%mm7\n\t"
-"       movd    %%mm3, 40(%%ecx)\n\t"
-"       movd    %%mm7, 56(%%ecx)\n\t"
+"       movd    %%mm3, 40(%%"REG_c")\n\t"
+"       movd    %%mm7, 56(%%"REG_c")\n\t"
 
-"       movq    64(%%edx), %%mm0\n\t"
-"       movq    80(%%edx), %%mm4\n\t"
+"       movq    64(%%"REG_d"), %%mm0\n\t"
+"       movq    80(%%"REG_d"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       movq    72(%%edx), %%mm1\n\t"
-"       movq    88(%%edx), %%mm5\n\t"
+"       movq    72(%%"REG_d"), %%mm1\n\t"
+"       movq    88(%%"REG_d"), %%mm5\n\t"
 /* n.b.: pswapd*/
 "       movq    %%mm1, %%mm2\n\t"
 "       movq    %%mm5, %%mm6\n\t"
@@ -458,25 +459,25 @@
 /**/
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 64(%%ecx)\n\t"
-"       movq    %%mm4, 80(%%ecx)\n\t"
+"       movq    %%mm0, 64(%%"REG_c")\n\t"
+"       movq    %%mm4, 80(%%"REG_c")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsubr  %%mm5, %%mm7\n\t"
-"       pfmul   112(%%ebx), %%mm3\n\t"
-"       pfmul   112(%%ebx), %%mm7\n\t"
-"       movd    %%mm3, 76(%%ecx)\n\t"
-"       movd    %%mm7, 92(%%ecx)\n\t"
+"       pfmul   112(%%"REG_b"), %%mm3\n\t"
+"       pfmul   112(%%"REG_b"), %%mm7\n\t"
+"       movd    %%mm3, 76(%%"REG_c")\n\t"
+"       movd    %%mm7, 92(%%"REG_c")\n\t"
 "       psrlq   $32, %%mm3\n\t"
 "       psrlq   $32, %%mm7\n\t"
-"       movd    %%mm3, 72(%%ecx)\n\t"
-"       movd    %%mm7, 88(%%ecx)\n\t"
+"       movd    %%mm3, 72(%%"REG_c")\n\t"
+"       movd    %%mm7, 88(%%"REG_c")\n\t"
 
-"       movq    96(%%edx), %%mm0\n\t"
-"       movq    112(%%edx), %%mm4\n\t"
+"       movq    96(%%"REG_d"), %%mm0\n\t"
+"       movq    112(%%"REG_d"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       movq    104(%%edx), %%mm1\n\t"
-"       movq    120(%%edx), %%mm5\n\t"
+"       movq    104(%%"REG_d"), %%mm1\n\t"
+"       movq    120(%%"REG_d"), %%mm5\n\t"
 /* n.b.: pswapd*/
 "       movq    %%mm1, %%mm2\n\t"
 "       movq    %%mm5, %%mm6\n\t"
@@ -487,28 +488,28 @@
 /**/
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 96(%%ecx)\n\t"
-"       movq    %%mm4, 112(%%ecx)\n\t"
+"       movq    %%mm0, 96(%%"REG_c")\n\t"
+"       movq    %%mm4, 112(%%"REG_c")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsubr  %%mm5, %%mm7\n\t"
-"       pfmul   112(%%ebx), %%mm3\n\t"
-"       pfmul   112(%%ebx), %%mm7\n\t"
-"       movd    %%mm3, 108(%%ecx)\n\t"
-"       movd    %%mm7, 124(%%ecx)\n\t"
+"       pfmul   112(%%"REG_b"), %%mm3\n\t"
+"       pfmul   112(%%"REG_b"), %%mm7\n\t"
+"       movd    %%mm3, 108(%%"REG_c")\n\t"
+"       movd    %%mm7, 124(%%"REG_c")\n\t"
 "       psrlq   $32, %%mm3\n\t"
 "       psrlq   $32, %%mm7\n\t"
-"       movd    %%mm3, 104(%%ecx)\n\t"
-"       movd    %%mm7, 120(%%ecx)\n\t"
+"       movd    %%mm3, 104(%%"REG_c")\n\t"
+"       movd    %%mm7, 120(%%"REG_c")\n\t"
 
 /* Phase 6. This is the end of easy road. */
 /* Code below is coded in scalar mode. Should be optimized */
 
 "       movd    "MANGLE(plus_1f)", %%mm6\n\t"
-"       punpckldq 120(%%ebx), %%mm6\n\t"      /* mm6 = 1.0 | 120(%%ebx)*/
+"       punpckldq 120(%%"REG_b"), %%mm6\n\t"      /* mm6 = 1.0 | 120(%%"REG_b")*/
 "       movq    "MANGLE(x_plus_minus_3dnow)", %%mm7\n\t" /* mm7 = +1 | -1 */
 
-"       movq    32(%%ecx), %%mm0\n\t"
-"       movq    64(%%ecx), %%mm2\n\t"
+"       movq    32(%%"REG_c"), %%mm0\n\t"
+"       movq    64(%%"REG_c"), %%mm2\n\t"
 "       movq    %%mm0, %%mm1\n\t"
 "       movq    %%mm2, %%mm3\n\t"
 "       pxor    %%mm7, %%mm1\n\t"
@@ -517,14 +518,14 @@
 "       pfacc   %%mm3, %%mm2\n\t"
 "       pfmul   %%mm6, %%mm0\n\t"
 "       pfmul   %%mm6, %%mm2\n\t"
-"       movq    %%mm0, 32(%%edx)\n\t"
-"       movq    %%mm2, 64(%%edx)\n\t"
+"       movq    %%mm0, 32(%%"REG_d")\n\t"
+"       movq    %%mm2, 64(%%"REG_d")\n\t"
 
-"       movd    44(%%ecx), %%mm0\n\t"
-"       movd    40(%%ecx), %%mm2\n\t"
-"       movd    120(%%ebx), %%mm3\n\t"
-"       punpckldq 76(%%ecx), %%mm0\n\t"
-"       punpckldq 72(%%ecx), %%mm2\n\t"
+"       movd    44(%%"REG_c"), %%mm0\n\t"
+"       movd    40(%%"REG_c"), %%mm2\n\t"
+"       movd    120(%%"REG_b"), %%mm3\n\t"
+"       punpckldq 76(%%"REG_c"), %%mm0\n\t"
+"       punpckldq 72(%%"REG_c"), %%mm2\n\t"
 "       punpckldq %%mm3, %%mm3\n\t"
 "       movq    %%mm0, %%mm4\n\t"
 "       movq    %%mm2, %%mm5\n\t"
@@ -536,86 +537,86 @@
 "       movq    %%mm0, %%mm2\n\t"
 "       punpckldq %%mm1, %%mm0\n\t"
 "       punpckhdq %%mm1, %%mm2\n\t"
-"       movq    %%mm0, 40(%%edx)\n\t"
-"       movq    %%mm2, 72(%%edx)\n\t"
+"       movq    %%mm0, 40(%%"REG_d")\n\t"
+"       movq    %%mm2, 72(%%"REG_d")\n\t"
 
-"       movd   48(%%ecx), %%mm3\n\t"
-"       movd   60(%%ecx), %%mm2\n\t"
-"       pfsub  52(%%ecx), %%mm3\n\t"
-"       pfsub  56(%%ecx), %%mm2\n\t"
-"       pfmul 120(%%ebx), %%mm3\n\t"
-"       pfmul 120(%%ebx), %%mm2\n\t"
+"       movd   48(%%"REG_c"), %%mm3\n\t"
+"       movd   60(%%"REG_c"), %%mm2\n\t"
+"       pfsub  52(%%"REG_c"), %%mm3\n\t"
+"       pfsub  56(%%"REG_c"), %%mm2\n\t"
+"       pfmul 120(%%"REG_b"), %%mm3\n\t"
+"       pfmul 120(%%"REG_b"), %%mm2\n\t"
 "       movq    %%mm2, %%mm1\n\t"
 
-"       pfadd  56(%%ecx), %%mm1\n\t"
-"       pfadd  60(%%ecx), %%mm1\n\t"
+"       pfadd  56(%%"REG_c"), %%mm1\n\t"
+"       pfadd  60(%%"REG_c"), %%mm1\n\t"
 "       movq    %%mm1, %%mm0\n\t"
 
-"       pfadd  48(%%ecx), %%mm0\n\t"
-"       pfadd  52(%%ecx), %%mm0\n\t"
+"       pfadd  48(%%"REG_c"), %%mm0\n\t"
+"       pfadd  52(%%"REG_c"), %%mm0\n\t"
 "       pfadd   %%mm3, %%mm1\n\t"
 "       punpckldq %%mm2, %%mm1\n\t"
 "       pfadd   %%mm3, %%mm2\n\t"
 "       punpckldq %%mm2, %%mm0\n\t"
-"       movq    %%mm1, 56(%%edx)\n\t"
-"       movq    %%mm0, 48(%%edx)\n\t"
+"       movq    %%mm1, 56(%%"REG_d")\n\t"
+"       movq    %%mm0, 48(%%"REG_d")\n\t"
 
 /*---*/
 
-"       movd   92(%%ecx), %%mm1\n\t"
-"       pfsub  88(%%ecx), %%mm1\n\t"
-"       pfmul 120(%%ebx), %%mm1\n\t"
-"       movd   %%mm1, 92(%%edx)\n\t"
-"       pfadd  92(%%ecx), %%mm1\n\t"
-"       pfadd  88(%%ecx), %%mm1\n\t"
+"       movd   92(%%"REG_c"), %%mm1\n\t"
+"       pfsub  88(%%"REG_c"), %%mm1\n\t"
+"       pfmul 120(%%"REG_b"), %%mm1\n\t"
+"       movd   %%mm1, 92(%%"REG_d")\n\t"
+"       pfadd  92(%%"REG_c"), %%mm1\n\t"
+"       pfadd  88(%%"REG_c"), %%mm1\n\t"
 "       movq   %%mm1, %%mm0\n\t"
 
-"       pfadd  80(%%ecx), %%mm0\n\t"
-"       pfadd  84(%%ecx), %%mm0\n\t"
-"       movd   %%mm0, 80(%%edx)\n\t"
+"       pfadd  80(%%"REG_c"), %%mm0\n\t"
+"       pfadd  84(%%"REG_c"), %%mm0\n\t"
+"       movd   %%mm0, 80(%%"REG_d")\n\t"
 
-"       movd   80(%%ecx), %%mm0\n\t"
-"       pfsub  84(%%ecx), %%mm0\n\t"
-"       pfmul 120(%%ebx), %%mm0\n\t"
+"       movd   80(%%"REG_c"), %%mm0\n\t"
+"       pfsub  84(%%"REG_c"), %%mm0\n\t"
+"       pfmul 120(%%"REG_b"), %%mm0\n\t"
 "       pfadd  %%mm0, %%mm1\n\t"
-"       pfadd  92(%%edx), %%mm0\n\t"
+"       pfadd  92(%%"REG_d"), %%mm0\n\t"
 "       punpckldq %%mm1, %%mm0\n\t"
-"       movq   %%mm0, 84(%%edx)\n\t"
+"       movq   %%mm0, 84(%%"REG_d")\n\t"
 
-"       movq    96(%%ecx), %%mm0\n\t"
+"       movq    96(%%"REG_c"), %%mm0\n\t"
 "       movq    %%mm0, %%mm1\n\t"
 "       pxor    %%mm7, %%mm1\n\t"
 "       pfacc   %%mm1, %%mm0\n\t"
 "       pfmul   %%mm6, %%mm0\n\t"
-"       movq    %%mm0, 96(%%edx)\n\t"
+"       movq    %%mm0, 96(%%"REG_d")\n\t"
 
-"       movd  108(%%ecx), %%mm0\n\t"
-"       pfsub 104(%%ecx), %%mm0\n\t"
-"       pfmul 120(%%ebx), %%mm0\n\t"
-"       movd  %%mm0, 108(%%edx)\n\t"
-"       pfadd 104(%%ecx), %%mm0\n\t"
-"       pfadd 108(%%ecx), %%mm0\n\t"
-"       movd  %%mm0, 104(%%edx)\n\t"
+"       movd  108(%%"REG_c"), %%mm0\n\t"
+"       pfsub 104(%%"REG_c"), %%mm0\n\t"
+"       pfmul 120(%%"REG_b"), %%mm0\n\t"
+"       movd  %%mm0, 108(%%"REG_d")\n\t"
+"       pfadd 104(%%"REG_c"), %%mm0\n\t"
+"       pfadd 108(%%"REG_c"), %%mm0\n\t"
+"       movd  %%mm0, 104(%%"REG_d")\n\t"
 
-"       movd  124(%%ecx), %%mm1\n\t"
-"       pfsub 120(%%ecx), %%mm1\n\t"
-"       pfmul 120(%%ebx), %%mm1\n\t"
-"       movd  %%mm1, 124(%%edx)\n\t"
-"       pfadd 120(%%ecx), %%mm1\n\t"
-"       pfadd 124(%%ecx), %%mm1\n\t"
+"       movd  124(%%"REG_c"), %%mm1\n\t"
+"       pfsub 120(%%"REG_c"), %%mm1\n\t"
+"       pfmul 120(%%"REG_b"), %%mm1\n\t"
+"       movd  %%mm1, 124(%%"REG_d")\n\t"
+"       pfadd 120(%%"REG_c"), %%mm1\n\t"
+"       pfadd 124(%%"REG_c"), %%mm1\n\t"
 "       movq  %%mm1, %%mm0\n\t"
 
-"       pfadd 112(%%ecx), %%mm0\n\t"
-"       pfadd 116(%%ecx), %%mm0\n\t"
-"       movd  %%mm0, 112(%%edx)\n\t"
+"       pfadd 112(%%"REG_c"), %%mm0\n\t"
+"       pfadd 116(%%"REG_c"), %%mm0\n\t"
+"       movd  %%mm0, 112(%%"REG_d")\n\t"
 
-"       movd  112(%%ecx), %%mm0\n\t"
-"       pfsub 116(%%ecx), %%mm0\n\t"
-"       pfmul 120(%%ebx), %%mm0\n\t"
+"       movd  112(%%"REG_c"), %%mm0\n\t"
+"       pfsub 116(%%"REG_c"), %%mm0\n\t"
+"       pfmul 120(%%"REG_b"), %%mm0\n\t"
 "       pfadd %%mm0,%%mm1\n\t"
-"       pfadd 124(%%edx), %%mm0\n\t"
+"       pfadd 124(%%"REG_d"), %%mm0\n\t"
 "       punpckldq %%mm1, %%mm0\n\t"
-"       movq  %%mm0, 116(%%edx)\n\t"
+"       movq  %%mm0, 116(%%"REG_d")\n\t"
 
 // this code is broken, there is nothing modifying the z flag above.
 #if 0
@@ -624,299 +625,299 @@
 /* Phase 7*/
 /* Code below is coded in scalar mode. Should be optimized */
 
-"       movd      (%%ecx), %%mm0\n\t"
-"       pfadd    4(%%ecx), %%mm0\n\t"
-"       movd     %%mm0, 1024(%%esi)\n\t"
+"       movd      (%%"REG_c"), %%mm0\n\t"
+"       pfadd    4(%%"REG_c"), %%mm0\n\t"
+"       movd     %%mm0, 1024(%%"REG_S")\n\t"
 
-"       movd      (%%ecx), %%mm0\n\t"
-"       pfsub    4(%%ecx), %%mm0\n\t"
-"       pfmul  120(%%ebx), %%mm0\n\t"
-"       movd      %%mm0, (%%esi)\n\t"
-"       movd      %%mm0, (%%edi)\n\t"
+"       movd      (%%"REG_c"), %%mm0\n\t"
+"       pfsub    4(%%"REG_c"), %%mm0\n\t"
+"       pfmul  120(%%"REG_b"), %%mm0\n\t"
+"       movd      %%mm0, (%%"REG_S")\n\t"
+"       movd      %%mm0, (%%"REG_D")\n\t"
 
-"       movd   12(%%ecx), %%mm0\n\t"
-"       pfsub   8(%%ecx), %%mm0\n\t"
-"       pfmul 120(%%ebx), %%mm0\n\t"
-"       movd    %%mm0, 512(%%edi)\n\t"
-"       pfadd   12(%%ecx), %%mm0\n\t"
-"       pfadd   8(%%ecx), %%mm0\n\t"
-"       movd    %%mm0, 512(%%esi)\n\t"
+"       movd   12(%%"REG_c"), %%mm0\n\t"
+"       pfsub   8(%%"REG_c"), %%mm0\n\t"
+"       pfmul 120(%%"REG_b"), %%mm0\n\t"
+"       movd    %%mm0, 512(%%"REG_D")\n\t"
+"       pfadd   12(%%"REG_c"), %%mm0\n\t"
+"       pfadd   8(%%"REG_c"), %%mm0\n\t"
+"       movd    %%mm0, 512(%%"REG_S")\n\t"
 
-"       movd   16(%%ecx), %%mm0\n\t"
-"       pfsub  20(%%ecx), %%mm0\n\t"
-"       pfmul 120(%%ebx), %%mm0\n\t"
+"       movd   16(%%"REG_c"), %%mm0\n\t"
+"       pfsub  20(%%"REG_c"), %%mm0\n\t"
+"       pfmul 120(%%"REG_b"), %%mm0\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 
-"       movd   28(%%ecx), %%mm0\n\t"
-"       pfsub  24(%%ecx), %%mm0\n\t"
-"       pfmul 120(%%ebx), %%mm0\n\t"
-"       movd    %%mm0, 768(%%edi)\n\t"
+"       movd   28(%%"REG_c"), %%mm0\n\t"
+"       pfsub  24(%%"REG_c"), %%mm0\n\t"
+"       pfmul 120(%%"REG_b"), %%mm0\n\t"
+"       movd    %%mm0, 768(%%"REG_D")\n\t"
 "       movq    %%mm0, %%mm2\n\t"
 
-"       pfadd  24(%%ecx), %%mm0\n\t"
-"       pfadd  28(%%ecx), %%mm0\n\t"
+"       pfadd  24(%%"REG_c"), %%mm0\n\t"
+"       pfadd  28(%%"REG_c"), %%mm0\n\t"
 "       movq    %%mm0, %%mm1\n\t"
 
-"       pfadd  16(%%ecx), %%mm0\n\t"
-"       pfadd  20(%%ecx), %%mm0\n\t"
-"       movd   %%mm0, 768(%%esi)\n\t"
+"       pfadd  16(%%"REG_c"), %%mm0\n\t"
+"       pfadd  20(%%"REG_c"), %%mm0\n\t"
+"       movd   %%mm0, 768(%%"REG_S")\n\t"
 "       pfadd  %%mm3, %%mm1\n\t"
-"       movd   %%mm1, 256(%%esi)\n\t"
+"       movd   %%mm1, 256(%%"REG_S")\n\t"
 "       pfadd  %%mm3, %%mm2\n\t"
-"       movd   %%mm2, 256(%%edi)\n\t"
+"       movd   %%mm2, 256(%%"REG_D")\n\t"
 
 /* Phase 8*/
 
-"       movq   32(%%edx), %%mm0\n\t"
-"       movq   48(%%edx), %%mm1\n\t"
-"       pfadd  48(%%edx), %%mm0\n\t"
-"       pfadd  40(%%edx), %%mm1\n\t"
-"       movd   %%mm0, 896(%%esi)\n\t"
-"       movd   %%mm1, 640(%%esi)\n\t"
+"       movq   32(%%"REG_d"), %%mm0\n\t"
+"       movq   48(%%"REG_d"), %%mm1\n\t"
+"       pfadd  48(%%"REG_d"), %%mm0\n\t"
+"       pfadd  40(%%"REG_d"), %%mm1\n\t"
+"       movd   %%mm0, 896(%%"REG_S")\n\t"
+"       movd   %%mm1, 640(%%"REG_S")\n\t"
 "       psrlq  $32, %%mm0\n\t"
 "       psrlq  $32, %%mm1\n\t"
-"       movd   %%mm0, 128(%%edi)\n\t"
-"       movd   %%mm1, 384(%%edi)\n\t"
+"       movd   %%mm0, 128(%%"REG_D")\n\t"
+"       movd   %%mm1, 384(%%"REG_D")\n\t"
 
-"       movd   40(%%edx), %%mm0\n\t"
-"       pfadd  56(%%edx), %%mm0\n\t"
-"       movd   %%mm0, 384(%%esi)\n\t"
+"       movd   40(%%"REG_d"), %%mm0\n\t"
+"       pfadd  56(%%"REG_d"), %%mm0\n\t"
+"       movd   %%mm0, 384(%%"REG_S")\n\t"
 
-"       movd   56(%%edx), %%mm0\n\t"
-"       pfadd  36(%%edx), %%mm0\n\t"
-"       movd   %%mm0, 128(%%esi)\n\t"
+"       movd   56(%%"REG_d"), %%mm0\n\t"
+"       pfadd  36(%%"REG_d"), %%mm0\n\t"
+"       movd   %%mm0, 128(%%"REG_S")\n\t"
 
-"       movd   60(%%edx), %%mm0\n\t"
-"       movd   %%mm0, 896(%%edi)\n\t"
-"       pfadd  44(%%edx), %%mm0\n\t"
-"       movd   %%mm0, 640(%%edi)\n\t"
+"       movd   60(%%"REG_d"), %%mm0\n\t"
+"       movd   %%mm0, 896(%%"REG_D")\n\t"
+"       pfadd  44(%%"REG_d"), %%mm0\n\t"
+"       movd   %%mm0, 640(%%"REG_D")\n\t"
 
-"       movq   96(%%edx), %%mm0\n\t"
-"       movq   112(%%edx), %%mm2\n\t"
-"       movq   104(%%edx), %%mm4\n\t"
-"       pfadd  112(%%edx), %%mm0\n\t"
-"       pfadd  104(%%edx), %%mm2\n\t"
-"       pfadd  120(%%edx), %%mm4\n\t"
+"       movq   96(%%"REG_d"), %%mm0\n\t"
+"       movq   112(%%"REG_d"), %%mm2\n\t"
+"       movq   104(%%"REG_d"), %%mm4\n\t"
+"       pfadd  112(%%"REG_d"), %%mm0\n\t"
+"       pfadd  104(%%"REG_d"), %%mm2\n\t"
+"       pfadd  120(%%"REG_d"), %%mm4\n\t"
 "       movq   %%mm0, %%mm1\n\t"
 "       movq   %%mm2, %%mm3\n\t"
 "       movq   %%mm4, %%mm5\n\t"
-"       pfadd  64(%%edx), %%mm0\n\t"
-"       pfadd  80(%%edx), %%mm2\n\t"
-"       pfadd  72(%%edx), %%mm4\n\t"
-"       movd   %%mm0, 960(%%esi)\n\t"
-"       movd   %%mm2, 704(%%esi)\n\t"
-"       movd   %%mm4, 448(%%esi)\n\t"
+"       pfadd  64(%%"REG_d"), %%mm0\n\t"
+"       pfadd  80(%%"REG_d"), %%mm2\n\t"
+"       pfadd  72(%%"REG_d"), %%mm4\n\t"
+"       movd   %%mm0, 960(%%"REG_S")\n\t"
+"       movd   %%mm2, 704(%%"REG_S")\n\t"
+"       movd   %%mm4, 448(%%"REG_S")\n\t"
 "       psrlq  $32, %%mm0\n\t"
 "       psrlq  $32, %%mm2\n\t"
 "       psrlq  $32, %%mm4\n\t"
-"       movd   %%mm0, 64(%%edi)\n\t"
-"       movd   %%mm2, 320(%%edi)\n\t"
-"       movd   %%mm4, 576(%%edi)\n\t"
-"       pfadd  80(%%edx), %%mm1\n\t"
-"       pfadd  72(%%edx), %%mm3\n\t"
-"       pfadd  88(%%edx), %%mm5\n\t"
-"       movd   %%mm1, 832(%%esi)\n\t"
-"       movd   %%mm3, 576(%%esi)\n\t"
-"       movd   %%mm5, 320(%%esi)\n\t"
+"       movd   %%mm0, 64(%%"REG_D")\n\t"
+"       movd   %%mm2, 320(%%"REG_D")\n\t"
+"       movd   %%mm4, 576(%%"REG_D")\n\t"
+"       pfadd  80(%%"REG_d"), %%mm1\n\t"
+"       pfadd  72(%%"REG_d"), %%mm3\n\t"
+"       pfadd  88(%%"REG_d"), %%mm5\n\t"
+"       movd   %%mm1, 832(%%"REG_S")\n\t"
+"       movd   %%mm3, 576(%%"REG_S")\n\t"
+"       movd   %%mm5, 320(%%"REG_S")\n\t"
 "       psrlq  $32, %%mm1\n\t"
 "       psrlq  $32, %%mm3\n\t"
 "       psrlq  $32, %%mm5\n\t"
-"       movd   %%mm1, 192(%%edi)\n\t"
-"       movd   %%mm3, 448(%%edi)\n\t"
-"       movd   %%mm5, 704(%%edi)\n\t"
+"       movd   %%mm1, 192(%%"REG_D")\n\t"
+"       movd   %%mm3, 448(%%"REG_D")\n\t"
+"       movd   %%mm5, 704(%%"REG_D")\n\t"
 
-"       movd   120(%%edx), %%mm0\n\t"
-"       pfadd  100(%%edx), %%mm0\n\t"
+"       movd   120(%%"REG_d"), %%mm0\n\t"
+"       pfadd  100(%%"REG_d"), %%mm0\n\t"
 "       movq   %%mm0, %%mm1\n\t"
-"       pfadd  88(%%edx), %%mm0\n\t"
-"       movd   %%mm0, 192(%%esi)\n\t"
-"       pfadd  68(%%edx), %%mm1\n\t"
-"       movd   %%mm1, 64(%%esi)\n\t"
+"       pfadd  88(%%"REG_d"), %%mm0\n\t"
+"       movd   %%mm0, 192(%%"REG_S")\n\t"
+"       pfadd  68(%%"REG_d"), %%mm1\n\t"
+"       movd   %%mm1, 64(%%"REG_S")\n\t"
 
-"       movd  124(%%edx), %%mm0\n\t"
-"       movd  %%mm0, 960(%%edi)\n\t"
-"       pfadd  92(%%edx), %%mm0\n\t"
-"       movd  %%mm0, 832(%%edi)\n\t"
+"       movd  124(%%"REG_d"), %%mm0\n\t"
+"       movd  %%mm0, 960(%%"REG_D")\n\t"
+"       pfadd  92(%%"REG_d"), %%mm0\n\t"
+"       movd  %%mm0, 832(%%"REG_D")\n\t"
 
 "       jmp     .L_bye\n\t"
 ".L01:\n\t"
 #endif
 /* Phase 9*/
 
-"       movq    (%%ecx), %%mm0\n\t"
+"       movq    (%%"REG_c"), %%mm0\n\t"
 "       movq    %%mm0, %%mm1\n\t"
 "       pxor    %%mm7, %%mm1\n\t"
 "       pfacc   %%mm1, %%mm0\n\t"
 "       pfmul   %%mm6, %%mm0\n\t"
 "       pf2id   %%mm0, %%mm0\n\t"
 "       packssdw %%mm0, %%mm0\n\t"
-"       movd    %%mm0, %%eax\n\t"
-"       movw    %%ax, 512(%%esi)\n\t"
-"       shrl    $16, %%eax\n\t"
-"       movw    %%ax, (%%esi)\n\t"
+"       movd    %%mm0, %%"REG_a"\n\t"
+"       movw    %%ax, 512(%%"REG_S")\n\t"
+"       shr    $16, %%"REG_a"\n\t"
+"       movw    %%ax, (%%"REG_S")\n\t"
 
-"       movd    12(%%ecx), %%mm0\n\t"
-"       pfsub    8(%%ecx), %%mm0\n\t"
-"       pfmul  120(%%ebx), %%mm0\n\t"
+"       movd    12(%%"REG_c"), %%mm0\n\t"
+"       pfsub    8(%%"REG_c"), %%mm0\n\t"
+"       pfmul  120(%%"REG_b"), %%mm0\n\t"
 "       pf2id    %%mm0, %%mm7\n\t"
 "       packssdw %%mm7, %%mm7\n\t"
-"       movd     %%mm7, %%eax\n\t"
-"       movw     %%ax, 256(%%edi)\n\t"
-"       pfadd   12(%%ecx), %%mm0\n\t"
-"       pfadd    8(%%ecx), %%mm0\n\t"
+"       movd     %%mm7, %%"REG_a"\n\t"
+"       movw     %%ax, 256(%%"REG_D")\n\t"
+"       pfadd   12(%%"REG_c"), %%mm0\n\t"
+"       pfadd    8(%%"REG_c"), %%mm0\n\t"
 "       pf2id    %%mm0, %%mm0\n\t"
 "       packssdw %%mm0, %%mm0\n\t"
-"       movd     %%mm0, %%eax\n\t"
-"       movw     %%ax, 256(%%esi)\n\t"
+"       movd     %%mm0, %%"REG_a"\n\t"
+"       movw     %%ax, 256(%%"REG_S")\n\t"
 
-"       movd   16(%%ecx), %%mm3\n\t"
-"       pfsub  20(%%ecx), %%mm3\n\t"
-"       pfmul  120(%%ebx), %%mm3\n\t"
+"       movd   16(%%"REG_c"), %%mm3\n\t"
+"       pfsub  20(%%"REG_c"), %%mm3\n\t"
+"       pfmul  120(%%"REG_b"), %%mm3\n\t"
 "       movq   %%mm3, %%mm2\n\t"
 
-"       movd   28(%%ecx), %%mm2\n\t"
-"       pfsub  24(%%ecx), %%mm2\n\t"
-"       pfmul 120(%%ebx), %%mm2\n\t"
+"       movd   28(%%"REG_c"), %%mm2\n\t"
+"       pfsub  24(%%"REG_c"), %%mm2\n\t"
+"       pfmul 120(%%"REG_b"), %%mm2\n\t"
 "       movq   %%mm2, %%mm1\n\t"
 
 "       pf2id  %%mm2, %%mm7\n\t"
 "       packssdw %%mm7, %%mm7\n\t"
-"       movd   %%mm7, %%eax\n\t"
-"       movw   %%ax, 384(%%edi)\n\t"
+"       movd   %%mm7, %%"REG_a"\n\t"
+"       movw   %%ax, 384(%%"REG_D")\n\t"
 
-"       pfadd  24(%%ecx), %%mm1\n\t"
-"       pfadd  28(%%ecx), %%mm1\n\t"
+"       pfadd  24(%%"REG_c"), %%mm1\n\t"
+"       pfadd  28(%%"REG_c"), %%mm1\n\t"
 "       movq   %%mm1, %%mm0\n\t"
 
-"       pfadd  16(%%ecx), %%mm0\n\t"
-"       pfadd  20(%%ecx), %%mm0\n\t"
+"       pfadd  16(%%"REG_c"), %%mm0\n\t"
+"       pfadd  20(%%"REG_c"), %%mm0\n\t"
 "       pf2id  %%mm0, %%mm0\n\t"
 "       packssdw %%mm0, %%mm0\n\t"
-"       movd   %%mm0, %%eax\n\t"
-"       movw   %%ax, 384(%%esi)\n\t"
+"       movd   %%mm0, %%"REG_a"\n\t"
+"       movw   %%ax, 384(%%"REG_S")\n\t"
 "       pfadd  %%mm3, %%mm1\n\t"
 "       pf2id  %%mm1, %%mm1\n\t"
 "       packssdw %%mm1, %%mm1\n\t"
-"       movd   %%mm1, %%eax\n\t"
-"       movw   %%ax, 128(%%esi)\n\t"
+"       movd   %%mm1, %%"REG_a"\n\t"
+"       movw   %%ax, 128(%%"REG_S")\n\t"
 "       pfadd  %%mm3, %%mm2\n\t"
 "       pf2id  %%mm2, %%mm2\n\t"
 "       packssdw %%mm2, %%mm2\n\t"
-"       movd   %%mm2, %%eax\n\t"
-"       movw   %%ax, 128(%%edi)\n\t"
+"       movd   %%mm2, %%"REG_a"\n\t"
+"       movw   %%ax, 128(%%"REG_D")\n\t"
 
 /* Phase 10*/
 
-"       movq    32(%%edx), %%mm0\n\t"
-"       movq    48(%%edx), %%mm1\n\t"
-"       pfadd   48(%%edx), %%mm0\n\t"
-"       pfadd   40(%%edx), %%mm1\n\t"
+"       movq    32(%%"REG_d"), %%mm0\n\t"
+"       movq    48(%%"REG_d"), %%mm1\n\t"
+"       pfadd   48(%%"REG_d"), %%mm0\n\t"
+"       pfadd   40(%%"REG_d"), %%mm1\n\t"
 "       pf2id   %%mm0, %%mm0\n\t"
 "       pf2id   %%mm1, %%mm1\n\t"
 "       packssdw %%mm0, %%mm0\n\t"
 "       packssdw %%mm1, %%mm1\n\t"
-"       movd    %%mm0, %%eax\n\t"
-"       movd    %%mm1, %%ecx\n\t"
-"       movw    %%ax, 448(%%esi)\n\t"
-"       movw    %%cx, 320(%%esi)\n\t"
-"       shrl    $16, %%eax\n\t"
-"       shrl    $16, %%ecx\n\t"
-"       movw    %%ax, 64(%%edi)\n\t"
-"       movw    %%cx, 192(%%edi)\n\t"
+"       movd    %%mm0, %%"REG_a"\n\t"
+"       movd    %%mm1, %%"REG_c"\n\t"
+"       movw    %%ax, 448(%%"REG_S")\n\t"
+"       movw    %%cx, 320(%%"REG_S")\n\t"
+"       shr    $16, %%"REG_a"\n\t"
+"       shr    $16, %%"REG_c"\n\t"
+"       movw    %%ax, 64(%%"REG_D")\n\t"
+"       movw    %%cx, 192(%%"REG_D")\n\t"
 
-"       movd   40(%%edx), %%mm3\n\t"
-"       movd   56(%%edx), %%mm4\n\t"
-"       movd   60(%%edx), %%mm0\n\t"
-"       movd   44(%%edx), %%mm2\n\t"
-"       movd  120(%%edx), %%mm5\n\t"
+"       movd   40(%%"REG_d"), %%mm3\n\t"
+"       movd   56(%%"REG_d"), %%mm4\n\t"
+"       movd   60(%%"REG_d"), %%mm0\n\t"
+"       movd   44(%%"REG_d"), %%mm2\n\t"
+"       movd  120(%%"REG_d"), %%mm5\n\t"
 "       punpckldq %%mm4, %%mm3\n\t"
-"       punpckldq 124(%%edx), %%mm0\n\t"
-"       pfadd 100(%%edx), %%mm5\n\t"
-"       punpckldq 36(%%edx), %%mm4\n\t"
-"       punpckldq 92(%%edx), %%mm2\n\t"
+"       punpckldq 124(%%"REG_d"), %%mm0\n\t"
+"       pfadd 100(%%"REG_d"), %%mm5\n\t"
+"       punpckldq 36(%%"REG_d"), %%mm4\n\t"
+"       punpckldq 92(%%"REG_d"), %%mm2\n\t"
 "       movq  %%mm5, %%mm6\n\t"
 "       pfadd  %%mm4, %%mm3\n\t"
 "       pf2id  %%mm0, %%mm1\n\t"
 "       pf2id  %%mm3, %%mm3\n\t"
 "       packssdw %%mm1, %%mm1\n\t"
 "       packssdw %%mm3, %%mm3\n\t"
-"       pfadd  88(%%edx), %%mm5\n\t"
-"       movd   %%mm1, %%eax\n\t"
-"       movd   %%mm3, %%ecx\n\t"
-"       movw   %%ax, 448(%%edi)\n\t"
-"       movw   %%cx, 192(%%esi)\n\t"
+"       pfadd  88(%%"REG_d"), %%mm5\n\t"
+"       movd   %%mm1, %%"REG_a"\n\t"
+"       movd   %%mm3, %%"REG_c"\n\t"
+"       movw   %%ax, 448(%%"REG_D")\n\t"
+"       movw   %%cx, 192(%%"REG_S")\n\t"
 "       pf2id  %%mm5, %%mm5\n\t"
 "       packssdw %%mm5, %%mm5\n\t"
-"       shrl   $16, %%eax\n\t"
-"       shrl   $16, %%ecx\n\t"
-"       movd   %%mm5, %%ebx\n\t"
-"       movw   %%bx, 96(%%esi)\n\t"
-"       movw   %%ax, 480(%%edi)\n\t"
-"       movw   %%cx, 64(%%esi)\n\t"
+"       shr   $16, %%"REG_a"\n\t"
+"       shr   $16, %%"REG_c"\n\t"
+"       movd   %%mm5, %%"REG_b"\n\t"
+"       movw   %%bx, 96(%%"REG_S")\n\t"
+"       movw   %%ax, 480(%%"REG_D")\n\t"
+"       movw   %%cx, 64(%%"REG_S")\n\t"
 "       pfadd  %%mm2, %%mm0\n\t"
 "       pf2id  %%mm0, %%mm0\n\t"
 "       packssdw %%mm0, %%mm0\n\t"
-"       movd   %%mm0, %%eax\n\t"
-"       pfadd  68(%%edx), %%mm6\n\t"
-"       movw   %%ax, 320(%%edi)\n\t"
-"       shr    $16, %%eax\n\t"
+"       movd   %%mm0, %%"REG_a"\n\t"
+"       pfadd  68(%%"REG_d"), %%mm6\n\t"
+"       movw   %%ax, 320(%%"REG_D")\n\t"
+"       shr    $16, %%"REG_a"\n\t"
 "       pf2id  %%mm6, %%mm6\n\t"
 "       packssdw %%mm6, %%mm6\n\t"
-"       movd   %%mm6, %%ebx\n\t"
-"       movw   %%ax, 416(%%edi)\n\t"
-"       movw   %%bx, 32(%%esi)\n\t"
+"       movd   %%mm6, %%"REG_b"\n\t"
+"       movw   %%ax, 416(%%"REG_D")\n\t"
+"       movw   %%bx, 32(%%"REG_S")\n\t"
 
-"       movq   96(%%edx), %%mm0\n\t"
-"       movq  112(%%edx), %%mm2\n\t"
-"       movq  104(%%edx), %%mm4\n\t"
+"       movq   96(%%"REG_d"), %%mm0\n\t"
+"       movq  112(%%"REG_d"), %%mm2\n\t"
+"       movq  104(%%"REG_d"), %%mm4\n\t"
 "       pfadd %%mm2, %%mm0\n\t"
 "       pfadd %%mm4, %%mm2\n\t"
-"       pfadd 120(%%edx), %%mm4\n\t"
+"       pfadd 120(%%"REG_d"), %%mm4\n\t"
 "       movq  %%mm0, %%mm1\n\t"
 "       movq  %%mm2, %%mm3\n\t"
 "       movq  %%mm4, %%mm5\n\t"
-"       pfadd  64(%%edx), %%mm0\n\t"
-"       pfadd  80(%%edx), %%mm2\n\t"
-"       pfadd  72(%%edx), %%mm4\n\t"
+"       pfadd  64(%%"REG_d"), %%mm0\n\t"
+"       pfadd  80(%%"REG_d"), %%mm2\n\t"
+"       pfadd  72(%%"REG_d"), %%mm4\n\t"
 "       pf2id  %%mm0, %%mm0\n\t"
 "       pf2id  %%mm2, %%mm2\n\t"
 "       pf2id  %%mm4, %%mm4\n\t"
 "       packssdw %%mm0, %%mm0\n\t"
 "       packssdw %%mm2, %%mm2\n\t"
 "       packssdw %%mm4, %%mm4\n\t"
-"       movd   %%mm0, %%eax\n\t"
-"       movd   %%mm2, %%ecx\n\t"
-"       movd   %%mm4, %%ebx\n\t"
-"       movw   %%ax, 480(%%esi)\n\t"
-"       movw   %%cx, 352(%%esi)\n\t"
-"       movw   %%bx, 224(%%esi)\n\t"
-"       shrl   $16, %%eax\n\t"
-"       shrl   $16, %%ecx\n\t"
-"       shrl   $16, %%ebx\n\t"
-"       movw   %%ax, 32(%%edi)\n\t"
-"       movw   %%cx, 160(%%edi)\n\t"
-"       movw   %%bx, 288(%%edi)\n\t"
-"       pfadd  80(%%edx), %%mm1\n\t"
-"       pfadd  72(%%edx), %%mm3\n\t"
-"       pfadd  88(%%edx), %%mm5\n\t"
+"       movd   %%mm0, %%"REG_a"\n\t"
+"       movd   %%mm2, %%"REG_c"\n\t"
+"       movd   %%mm4, %%"REG_b"\n\t"
+"       movw   %%ax, 480(%%"REG_S")\n\t"
+"       movw   %%cx, 352(%%"REG_S")\n\t"
+"       movw   %%bx, 224(%%"REG_S")\n\t"
+"       shr   $16, %%"REG_a"\n\t"
+"       shr   $16, %%"REG_c"\n\t"
+"       shr   $16, %%"REG_b"\n\t"
+"       movw   %%ax, 32(%%"REG_D")\n\t"
+"       movw   %%cx, 160(%%"REG_D")\n\t"
+"       movw   %%bx, 288(%%"REG_D")\n\t"
+"       pfadd  80(%%"REG_d"), %%mm1\n\t"
+"       pfadd  72(%%"REG_d"), %%mm3\n\t"
+"       pfadd  88(%%"REG_d"), %%mm5\n\t"
 "       pf2id  %%mm1, %%mm1\n\t"
 "       pf2id  %%mm3, %%mm3\n\t"
 "       pf2id  %%mm5, %%mm5\n\t"
 "       packssdw %%mm1, %%mm1\n\t"
 "       packssdw %%mm3, %%mm3\n\t"
 "       packssdw %%mm5, %%mm5\n\t"
-"       movd   %%mm1, %%eax\n\t"
-"       movd   %%mm3, %%ecx\n\t"
-"       movd   %%mm5, %%ebx\n\t"
-"       movw   %%ax, 416(%%esi)\n\t"
-"       movw   %%cx, 288(%%esi)\n\t"
-"       movw   %%bx, 160(%%esi)\n\t"
-"       shrl   $16, %%eax\n\t"
-"       shrl   $16, %%ecx\n\t"
-"       shrl   $16, %%ebx\n\t"
-"       movw   %%ax, 96(%%edi)\n\t"
-"       movw   %%cx, 224(%%edi)\n\t"
-"       movw   %%bx, 352(%%edi)\n\t"
+"       movd   %%mm1, %%"REG_a"\n\t"
+"       movd   %%mm3, %%"REG_c"\n\t"
+"       movd   %%mm5, %%"REG_b"\n\t"
+"       movw   %%ax, 416(%%"REG_S")\n\t"
+"       movw   %%cx, 288(%%"REG_S")\n\t"
+"       movw   %%bx, 160(%%"REG_S")\n\t"
+"       shr   $16, %%"REG_a"\n\t"
+"       shr   $16, %%"REG_c"\n\t"
+"       shr   $16, %%"REG_b"\n\t"
+"       movw   %%ax, 96(%%"REG_D")\n\t"
+"       movw   %%cx, 224(%%"REG_D")\n\t"
+"       movw   %%bx, 352(%%"REG_D")\n\t"
 
 "       movsw\n\t"
 
--- a/mp3lib/dct64_k7.c	Sun May 30 09:47:53 2010 +0000
+++ b/mp3lib/dct64_k7.c	Sun May 30 10:01:40 2010 +0000
@@ -11,6 +11,7 @@
 #include "config.h"
 #include "mangle.h"
 #include "mpg123.h"
+#include "libavutil/x86_cpu.h"
 
 static unsigned long long int attribute_used __attribute__((aligned(8))) x_plus_minus_3dnow = 0x8000000000000000ULL;
 static float attribute_used plus_1f = 1.0;
@@ -19,342 +20,342 @@
 {
   char tmp[256];
     __asm__ volatile(
-"       movl %2,%%eax\n\t"
+"       mov %2,%%"REG_a"\n\t"
 
-"       leal 128+%3,%%edx\n\t"
-"       movl %0,%%esi\n\t"
-"       movl %1,%%edi\n\t"
-"       movl $"MANGLE(costab_mmx)",%%ebx\n\t"
-"       leal %3,%%ecx\n\t"
+"       lea 128+%3,%%"REG_d"\n\t"
+"       mov %0,%%"REG_S"\n\t"
+"       mov %1,%%"REG_D"\n\t"
+"       mov $"MANGLE(costab_mmx)",%%"REG_b"\n\t"
+"       lea %3,%%"REG_c"\n\t"
 
 /* Phase 1*/
-"       movq    (%%eax), %%mm0\n\t"
-"       movq    8(%%eax), %%mm4\n\t"
+"       movq    (%%"REG_a"), %%mm0\n\t"
+"       movq    8(%%"REG_a"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       pswapd  120(%%eax), %%mm1\n\t"
-"       pswapd  112(%%eax), %%mm5\n\t"
+"       pswapd  120(%%"REG_a"), %%mm1\n\t"
+"       pswapd  112(%%"REG_a"), %%mm5\n\t"
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, (%%edx)\n\t"
-"       movq    %%mm4, 8(%%edx)\n\t"
+"       movq    %%mm0, (%%"REG_d")\n\t"
+"       movq    %%mm4, 8(%%"REG_d")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsub   %%mm5, %%mm7\n\t"
-"       pfmul   (%%ebx), %%mm3\n\t"
-"       pfmul   8(%%ebx), %%mm7\n\t"
+"       pfmul   (%%"REG_b"), %%mm3\n\t"
+"       pfmul   8(%%"REG_b"), %%mm7\n\t"
 "       pswapd  %%mm3, %%mm3\n\t"
 "       pswapd  %%mm7, %%mm7\n\t"
-"       movq    %%mm3, 120(%%edx)\n\t"
-"       movq    %%mm7, 112(%%edx)\n\t"
+"       movq    %%mm3, 120(%%"REG_d")\n\t"
+"       movq    %%mm7, 112(%%"REG_d")\n\t"
 
-"       movq    16(%%eax), %%mm0\n\t"
-"       movq    24(%%eax), %%mm4\n\t"
+"       movq    16(%%"REG_a"), %%mm0\n\t"
+"       movq    24(%%"REG_a"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       pswapd  104(%%eax), %%mm1\n\t"
-"       pswapd  96(%%eax), %%mm5\n\t"
+"       pswapd  104(%%"REG_a"), %%mm1\n\t"
+"       pswapd  96(%%"REG_a"), %%mm5\n\t"
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 16(%%edx)\n\t"
-"       movq    %%mm4, 24(%%edx)\n\t"
+"       movq    %%mm0, 16(%%"REG_d")\n\t"
+"       movq    %%mm4, 24(%%"REG_d")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsub   %%mm5, %%mm7\n\t"
-"       pfmul   16(%%ebx), %%mm3\n\t"
-"       pfmul   24(%%ebx), %%mm7\n\t"
+"       pfmul   16(%%"REG_b"), %%mm3\n\t"
+"       pfmul   24(%%"REG_b"), %%mm7\n\t"
 "       pswapd  %%mm3, %%mm3\n\t"
 "       pswapd  %%mm7, %%mm7\n\t"
-"       movq    %%mm3, 104(%%edx)\n\t"
-"       movq    %%mm7, 96(%%edx)\n\t"
+"       movq    %%mm3, 104(%%"REG_d")\n\t"
+"       movq    %%mm7, 96(%%"REG_d")\n\t"
 
-"       movq    32(%%eax), %%mm0\n\t"
-"       movq    40(%%eax), %%mm4\n\t"
+"       movq    32(%%"REG_a"), %%mm0\n\t"
+"       movq    40(%%"REG_a"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       pswapd  88(%%eax), %%mm1\n\t"
-"       pswapd  80(%%eax), %%mm5\n\t"
+"       pswapd  88(%%"REG_a"), %%mm1\n\t"
+"       pswapd  80(%%"REG_a"), %%mm5\n\t"
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 32(%%edx)\n\t"
-"       movq    %%mm4, 40(%%edx)\n\t"
+"       movq    %%mm0, 32(%%"REG_d")\n\t"
+"       movq    %%mm4, 40(%%"REG_d")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsub   %%mm5, %%mm7\n\t"
-"       pfmul   32(%%ebx), %%mm3\n\t"
-"       pfmul   40(%%ebx), %%mm7\n\t"
+"       pfmul   32(%%"REG_b"), %%mm3\n\t"
+"       pfmul   40(%%"REG_b"), %%mm7\n\t"
 "       pswapd  %%mm3, %%mm3\n\t"
 "       pswapd  %%mm7, %%mm7\n\t"
-"       movq    %%mm3, 88(%%edx)\n\t"
-"       movq    %%mm7, 80(%%edx)\n\t"
+"       movq    %%mm3, 88(%%"REG_d")\n\t"
+"       movq    %%mm7, 80(%%"REG_d")\n\t"
 
-"       movq    48(%%eax), %%mm0\n\t"
-"       movq    56(%%eax), %%mm4\n\t"
+"       movq    48(%%"REG_a"), %%mm0\n\t"
+"       movq    56(%%"REG_a"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       pswapd  72(%%eax), %%mm1\n\t"
-"       pswapd  64(%%eax), %%mm5\n\t"
+"       pswapd  72(%%"REG_a"), %%mm1\n\t"
+"       pswapd  64(%%"REG_a"), %%mm5\n\t"
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 48(%%edx)\n\t"
-"       movq    %%mm4, 56(%%edx)\n\t"
+"       movq    %%mm0, 48(%%"REG_d")\n\t"
+"       movq    %%mm4, 56(%%"REG_d")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsub   %%mm5, %%mm7\n\t"
-"       pfmul   48(%%ebx), %%mm3\n\t"
-"       pfmul   56(%%ebx), %%mm7\n\t"
+"       pfmul   48(%%"REG_b"), %%mm3\n\t"
+"       pfmul   56(%%"REG_b"), %%mm7\n\t"
 "       pswapd  %%mm3, %%mm3\n\t"
 "       pswapd  %%mm7, %%mm7\n\t"
-"       movq    %%mm3, 72(%%edx)\n\t"
-"       movq    %%mm7, 64(%%edx)\n\t"
+"       movq    %%mm3, 72(%%"REG_d")\n\t"
+"       movq    %%mm7, 64(%%"REG_d")\n\t"
 
 /* Phase 2*/
 
-"       movq    (%%edx), %%mm0\n\t"
-"       movq    8(%%edx), %%mm4\n\t"
+"       movq    (%%"REG_d"), %%mm0\n\t"
+"       movq    8(%%"REG_d"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       pswapd  56(%%edx), %%mm1\n\t"
-"       pswapd  48(%%edx), %%mm5\n\t"
+"       pswapd  56(%%"REG_d"), %%mm1\n\t"
+"       pswapd  48(%%"REG_d"), %%mm5\n\t"
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, (%%ecx)\n\t"
-"       movq    %%mm4, 8(%%ecx)\n\t"
+"       movq    %%mm0, (%%"REG_c")\n\t"
+"       movq    %%mm4, 8(%%"REG_c")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsub   %%mm5, %%mm7\n\t"
-"       pfmul   64(%%ebx), %%mm3\n\t"
-"       pfmul   72(%%ebx), %%mm7\n\t"
+"       pfmul   64(%%"REG_b"), %%mm3\n\t"
+"       pfmul   72(%%"REG_b"), %%mm7\n\t"
 "       pswapd  %%mm3, %%mm3\n\t"
 "       pswapd  %%mm7, %%mm7\n\t"
-"       movq    %%mm3, 56(%%ecx)\n\t"
-"       movq    %%mm7, 48(%%ecx)\n\t"
+"       movq    %%mm3, 56(%%"REG_c")\n\t"
+"       movq    %%mm7, 48(%%"REG_c")\n\t"
 
-"       movq    16(%%edx), %%mm0\n\t"
-"       movq    24(%%edx), %%mm4\n\t"
+"       movq    16(%%"REG_d"), %%mm0\n\t"
+"       movq    24(%%"REG_d"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       pswapd  40(%%edx), %%mm1\n\t"
-"       pswapd  32(%%edx), %%mm5\n\t"
+"       pswapd  40(%%"REG_d"), %%mm1\n\t"
+"       pswapd  32(%%"REG_d"), %%mm5\n\t"
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 16(%%ecx)\n\t"
-"       movq    %%mm4, 24(%%ecx)\n\t"
+"       movq    %%mm0, 16(%%"REG_c")\n\t"
+"       movq    %%mm4, 24(%%"REG_c")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsub   %%mm5, %%mm7\n\t"
-"       pfmul   80(%%ebx), %%mm3\n\t"
-"       pfmul   88(%%ebx), %%mm7\n\t"
+"       pfmul   80(%%"REG_b"), %%mm3\n\t"
+"       pfmul   88(%%"REG_b"), %%mm7\n\t"
 "       pswapd  %%mm3, %%mm3\n\t"
 "       pswapd  %%mm7, %%mm7\n\t"
-"       movq    %%mm3, 40(%%ecx)\n\t"
-"       movq    %%mm7, 32(%%ecx)\n\t"
+"       movq    %%mm3, 40(%%"REG_c")\n\t"
+"       movq    %%mm7, 32(%%"REG_c")\n\t"
 
 /* Phase 3*/
 
-"       movq    64(%%edx), %%mm0\n\t"
-"       movq    72(%%edx), %%mm4\n\t"
+"       movq    64(%%"REG_d"), %%mm0\n\t"
+"       movq    72(%%"REG_d"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       pswapd  120(%%edx), %%mm1\n\t"
-"       pswapd  112(%%edx), %%mm5\n\t"
+"       pswapd  120(%%"REG_d"), %%mm1\n\t"
+"       pswapd  112(%%"REG_d"), %%mm5\n\t"
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 64(%%ecx)\n\t"
-"       movq    %%mm4, 72(%%ecx)\n\t"
+"       movq    %%mm0, 64(%%"REG_c")\n\t"
+"       movq    %%mm4, 72(%%"REG_c")\n\t"
 "       pfsubr  %%mm1, %%mm3\n\t"
 "       pfsubr  %%mm5, %%mm7\n\t"
-"       pfmul   64(%%ebx), %%mm3\n\t"
-"       pfmul   72(%%ebx), %%mm7\n\t"
+"       pfmul   64(%%"REG_b"), %%mm3\n\t"
+"       pfmul   72(%%"REG_b"), %%mm7\n\t"
 "       pswapd  %%mm3, %%mm3\n\t"
 "       pswapd  %%mm7, %%mm7\n\t"
-"       movq    %%mm3, 120(%%ecx)\n\t"
-"       movq    %%mm7, 112(%%ecx)\n\t"
+"       movq    %%mm3, 120(%%"REG_c")\n\t"
+"       movq    %%mm7, 112(%%"REG_c")\n\t"
 
-"       movq    80(%%edx), %%mm0\n\t"
-"       movq    88(%%edx), %%mm4\n\t"
+"       movq    80(%%"REG_d"), %%mm0\n\t"
+"       movq    88(%%"REG_d"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       pswapd  104(%%edx), %%mm1\n\t"
-"       pswapd  96(%%edx), %%mm5\n\t"
+"       pswapd  104(%%"REG_d"), %%mm1\n\t"
+"       pswapd  96(%%"REG_d"), %%mm5\n\t"
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 80(%%ecx)\n\t"
-"       movq    %%mm4, 88(%%ecx)\n\t"
+"       movq    %%mm0, 80(%%"REG_c")\n\t"
+"       movq    %%mm4, 88(%%"REG_c")\n\t"
 "       pfsubr  %%mm1, %%mm3\n\t"
 "       pfsubr  %%mm5, %%mm7\n\t"
-"       pfmul   80(%%ebx), %%mm3\n\t"
-"       pfmul   88(%%ebx), %%mm7\n\t"
+"       pfmul   80(%%"REG_b"), %%mm3\n\t"
+"       pfmul   88(%%"REG_b"), %%mm7\n\t"
 "       pswapd  %%mm3, %%mm3\n\t"
 "       pswapd  %%mm7, %%mm7\n\t"
-"       movq    %%mm3, 104(%%ecx)\n\t"
-"       movq    %%mm7, 96(%%ecx)\n\t"
+"       movq    %%mm3, 104(%%"REG_c")\n\t"
+"       movq    %%mm7, 96(%%"REG_c")\n\t"
 
 /* Phase 4*/
 
-"       movq    96(%%ebx), %%mm2\n\t"
-"       movq    104(%%ebx), %%mm6\n\t"
+"       movq    96(%%"REG_b"), %%mm2\n\t"
+"       movq    104(%%"REG_b"), %%mm6\n\t"
 
-"       movq    (%%ecx), %%mm0\n\t"
-"       movq    8(%%ecx), %%mm4\n\t"
+"       movq    (%%"REG_c"), %%mm0\n\t"
+"       movq    8(%%"REG_c"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       pswapd  24(%%ecx), %%mm1\n\t"
-"       pswapd  16(%%ecx), %%mm5\n\t"
+"       pswapd  24(%%"REG_c"), %%mm1\n\t"
+"       pswapd  16(%%"REG_c"), %%mm5\n\t"
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, (%%edx)\n\t"
-"       movq    %%mm4, 8(%%edx)\n\t"
+"       movq    %%mm0, (%%"REG_d")\n\t"
+"       movq    %%mm4, 8(%%"REG_d")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsub   %%mm5, %%mm7\n\t"
 "       pfmul   %%mm2, %%mm3\n\t"
 "       pfmul   %%mm6, %%mm7\n\t"
 "       pswapd  %%mm3, %%mm3\n\t"
 "       pswapd  %%mm7, %%mm7\n\t"
-"       movq    %%mm3, 24(%%edx)\n\t"
-"       movq    %%mm7, 16(%%edx)\n\t"
+"       movq    %%mm3, 24(%%"REG_d")\n\t"
+"       movq    %%mm7, 16(%%"REG_d")\n\t"
 
-"       movq    32(%%ecx), %%mm0\n\t"
-"       movq    40(%%ecx), %%mm4\n\t"
+"       movq    32(%%"REG_c"), %%mm0\n\t"
+"       movq    40(%%"REG_c"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       pswapd  56(%%ecx), %%mm1\n\t"
-"       pswapd  48(%%ecx), %%mm5\n\t"
+"       pswapd  56(%%"REG_c"), %%mm1\n\t"
+"       pswapd  48(%%"REG_c"), %%mm5\n\t"
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 32(%%edx)\n\t"
-"       movq    %%mm4, 40(%%edx)\n\t"
+"       movq    %%mm0, 32(%%"REG_d")\n\t"
+"       movq    %%mm4, 40(%%"REG_d")\n\t"
 "       pfsubr  %%mm1, %%mm3\n\t"
 "       pfsubr  %%mm5, %%mm7\n\t"
 "       pfmul   %%mm2, %%mm3\n\t"
 "       pfmul   %%mm6, %%mm7\n\t"
 "       pswapd  %%mm3, %%mm3\n\t"
 "       pswapd  %%mm7, %%mm7\n\t"
-"       movq    %%mm3, 56(%%edx)\n\t"
-"       movq    %%mm7, 48(%%edx)\n\t"
+"       movq    %%mm3, 56(%%"REG_d")\n\t"
+"       movq    %%mm7, 48(%%"REG_d")\n\t"
 
-"       movq    64(%%ecx), %%mm0\n\t"
-"       movq    72(%%ecx), %%mm4\n\t"
+"       movq    64(%%"REG_c"), %%mm0\n\t"
+"       movq    72(%%"REG_c"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       pswapd  88(%%ecx), %%mm1\n\t"
-"       pswapd  80(%%ecx), %%mm5\n\t"
+"       pswapd  88(%%"REG_c"), %%mm1\n\t"
+"       pswapd  80(%%"REG_c"), %%mm5\n\t"
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 64(%%edx)\n\t"
-"       movq    %%mm4, 72(%%edx)\n\t"
+"       movq    %%mm0, 64(%%"REG_d")\n\t"
+"       movq    %%mm4, 72(%%"REG_d")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsub   %%mm5, %%mm7\n\t"
 "       pfmul   %%mm2, %%mm3\n\t"
 "       pfmul   %%mm6, %%mm7\n\t"
 "       pswapd  %%mm3, %%mm3\n\t"
 "       pswapd  %%mm7, %%mm7\n\t"
-"       movq    %%mm3, 88(%%edx)\n\t"
-"       movq    %%mm7, 80(%%edx)\n\t"
+"       movq    %%mm3, 88(%%"REG_d")\n\t"
+"       movq    %%mm7, 80(%%"REG_d")\n\t"
 
-"       movq    96(%%ecx), %%mm0\n\t"
-"       movq    104(%%ecx), %%mm4\n\t"
+"       movq    96(%%"REG_c"), %%mm0\n\t"
+"       movq    104(%%"REG_c"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       pswapd  120(%%ecx), %%mm1\n\t"
-"       pswapd  112(%%ecx), %%mm5\n\t"
+"       pswapd  120(%%"REG_c"), %%mm1\n\t"
+"       pswapd  112(%%"REG_c"), %%mm5\n\t"
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 96(%%edx)\n\t"
-"       movq    %%mm4, 104(%%edx)\n\t"
+"       movq    %%mm0, 96(%%"REG_d")\n\t"
+"       movq    %%mm4, 104(%%"REG_d")\n\t"
 "       pfsubr  %%mm1, %%mm3\n\t"
 "       pfsubr  %%mm5, %%mm7\n\t"
 "       pfmul   %%mm2, %%mm3\n\t"
 "       pfmul   %%mm6, %%mm7\n\t"
 "       pswapd  %%mm3, %%mm3\n\t"
 "       pswapd  %%mm7, %%mm7\n\t"
-"       movq    %%mm3, 120(%%edx)\n\t"
-"       movq    %%mm7, 112(%%edx)\n\t"
+"       movq    %%mm3, 120(%%"REG_d")\n\t"
+"       movq    %%mm7, 112(%%"REG_d")\n\t"
 
 /* Phase 5 */
 
-"       movq    112(%%ebx), %%mm2\n\t"
+"       movq    112(%%"REG_b"), %%mm2\n\t"
 
-"       movq    (%%edx), %%mm0\n\t"
-"       movq    16(%%edx), %%mm4\n\t"
+"       movq    (%%"REG_d"), %%mm0\n\t"
+"       movq    16(%%"REG_d"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       pswapd  8(%%edx), %%mm1\n\t"
-"       pswapd  24(%%edx), %%mm5\n\t"
+"       pswapd  8(%%"REG_d"), %%mm1\n\t"
+"       pswapd  24(%%"REG_d"), %%mm5\n\t"
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, (%%ecx)\n\t"
-"       movq    %%mm4, 16(%%ecx)\n\t"
+"       movq    %%mm0, (%%"REG_c")\n\t"
+"       movq    %%mm4, 16(%%"REG_c")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsubr  %%mm5, %%mm7\n\t"
 "       pfmul   %%mm2, %%mm3\n\t"
 "       pfmul   %%mm2, %%mm7\n\t"
 "       pswapd  %%mm3, %%mm3\n\t"
 "       pswapd  %%mm7, %%mm7\n\t"
-"       movq    %%mm3, 8(%%ecx)\n\t"
-"       movq    %%mm7, 24(%%ecx)\n\t"
+"       movq    %%mm3, 8(%%"REG_c")\n\t"
+"       movq    %%mm7, 24(%%"REG_c")\n\t"
 
-"       movq    32(%%edx), %%mm0\n\t"
-"       movq    48(%%edx), %%mm4\n\t"
+"       movq    32(%%"REG_d"), %%mm0\n\t"
+"       movq    48(%%"REG_d"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       pswapd  40(%%edx), %%mm1\n\t"
-"       pswapd  56(%%edx), %%mm5\n\t"
+"       pswapd  40(%%"REG_d"), %%mm1\n\t"
+"       pswapd  56(%%"REG_d"), %%mm5\n\t"
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 32(%%ecx)\n\t"
-"       movq    %%mm4, 48(%%ecx)\n\t"
+"       movq    %%mm0, 32(%%"REG_c")\n\t"
+"       movq    %%mm4, 48(%%"REG_c")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsubr  %%mm5, %%mm7\n\t"
 "       pfmul   %%mm2, %%mm3\n\t"
 "       pfmul   %%mm2, %%mm7\n\t"
 "       pswapd  %%mm3, %%mm3\n\t"
 "       pswapd  %%mm7, %%mm7\n\t"
-"       movq    %%mm3, 40(%%ecx)\n\t"
-"       movq    %%mm7, 56(%%ecx)\n\t"
+"       movq    %%mm3, 40(%%"REG_c")\n\t"
+"       movq    %%mm7, 56(%%"REG_c")\n\t"
 
-"       movq    64(%%edx), %%mm0\n\t"
-"       movq    80(%%edx), %%mm4\n\t"
+"       movq    64(%%"REG_d"), %%mm0\n\t"
+"       movq    80(%%"REG_d"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       pswapd  72(%%edx), %%mm1\n\t"
-"       pswapd  88(%%edx), %%mm5\n\t"
+"       pswapd  72(%%"REG_d"), %%mm1\n\t"
+"       pswapd  88(%%"REG_d"), %%mm5\n\t"
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 64(%%ecx)\n\t"
-"       movq    %%mm4, 80(%%ecx)\n\t"
+"       movq    %%mm0, 64(%%"REG_c")\n\t"
+"       movq    %%mm4, 80(%%"REG_c")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsubr  %%mm5, %%mm7\n\t"
 "       pfmul   %%mm2, %%mm3\n\t"
 "       pfmul   %%mm2, %%mm7\n\t"
 "       pswapd  %%mm3, %%mm3\n\t"
 "       pswapd  %%mm7, %%mm7\n\t"
-"       movq    %%mm3, 72(%%ecx)\n\t"
-"       movq    %%mm7, 88(%%ecx)\n\t"
+"       movq    %%mm3, 72(%%"REG_c")\n\t"
+"       movq    %%mm7, 88(%%"REG_c")\n\t"
 
-"       movq    96(%%edx), %%mm0\n\t"
-"       movq    112(%%edx), %%mm4\n\t"
+"       movq    96(%%"REG_d"), %%mm0\n\t"
+"       movq    112(%%"REG_d"), %%mm4\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 "       movq    %%mm4, %%mm7\n\t"
-"       pswapd  104(%%edx), %%mm1\n\t"
-"       pswapd  120(%%edx), %%mm5\n\t"
+"       pswapd  104(%%"REG_d"), %%mm1\n\t"
+"       pswapd  120(%%"REG_d"), %%mm5\n\t"
 "       pfadd   %%mm1, %%mm0\n\t"
 "       pfadd   %%mm5, %%mm4\n\t"
-"       movq    %%mm0, 96(%%ecx)\n\t"
-"       movq    %%mm4, 112(%%ecx)\n\t"
+"       movq    %%mm0, 96(%%"REG_c")\n\t"
+"       movq    %%mm4, 112(%%"REG_c")\n\t"
 "       pfsub   %%mm1, %%mm3\n\t"
 "       pfsubr  %%mm5, %%mm7\n\t"
 "       pfmul   %%mm2, %%mm3\n\t"
 "       pfmul   %%mm2, %%mm7\n\t"
 "       pswapd  %%mm3, %%mm3\n\t"
 "       pswapd  %%mm7, %%mm7\n\t"
-"       movq    %%mm3, 104(%%ecx)\n\t"
-"       movq    %%mm7, 120(%%ecx)\n\t"
+"       movq    %%mm3, 104(%%"REG_c")\n\t"
+"       movq    %%mm7, 120(%%"REG_c")\n\t"
 
 
 /* Phase 6. This is the end of easy road. */
 /* Code below is coded in scalar mode. Should be optimized */
 
 "       movd    "MANGLE(plus_1f)", %%mm6\n\t"
-"       punpckldq 120(%%ebx), %%mm6\n\t"      /* mm6 = 1.0 | 120(%%ebx)*/
+"       punpckldq 120(%%"REG_b"), %%mm6\n\t"      /* mm6 = 1.0 | 120(%%"REG_b")*/
 "       movq    "MANGLE(x_plus_minus_3dnow)", %%mm7\n\t" /* mm7 = +1 | -1 */
 
-"       movq    32(%%ecx), %%mm0\n\t"
-"       movq    64(%%ecx), %%mm2\n\t"
+"       movq    32(%%"REG_c"), %%mm0\n\t"
+"       movq    64(%%"REG_c"), %%mm2\n\t"
 "       movq    %%mm0, %%mm1\n\t"
 "       movq    %%mm2, %%mm3\n\t"
 "       pxor    %%mm7, %%mm1\n\t"
@@ -363,14 +364,14 @@
 "       pfacc   %%mm3, %%mm2\n\t"
 "       pfmul   %%mm6, %%mm0\n\t"
 "       pfmul   %%mm6, %%mm2\n\t"
-"       movq    %%mm0, 32(%%edx)\n\t"
-"       movq    %%mm2, 64(%%edx)\n\t"
+"       movq    %%mm0, 32(%%"REG_d")\n\t"
+"       movq    %%mm2, 64(%%"REG_d")\n\t"
 
-"       movd    44(%%ecx), %%mm0\n\t"
-"       movd    40(%%ecx), %%mm2\n\t"
-"       movd    120(%%ebx), %%mm3\n\t"
-"       punpckldq 76(%%ecx), %%mm0\n\t"
-"       punpckldq 72(%%ecx), %%mm2\n\t"
+"       movd    44(%%"REG_c"), %%mm0\n\t"
+"       movd    40(%%"REG_c"), %%mm2\n\t"
+"       movd    120(%%"REG_b"), %%mm3\n\t"
+"       punpckldq 76(%%"REG_c"), %%mm0\n\t"
+"       punpckldq 72(%%"REG_c"), %%mm2\n\t"
 "       punpckldq %%mm3, %%mm3\n\t"
 "       movq    %%mm0, %%mm4\n\t"
 "       movq    %%mm2, %%mm5\n\t"
@@ -382,86 +383,86 @@
 "       movq    %%mm0, %%mm2\n\t"
 "       punpckldq %%mm1, %%mm0\n\t"
 "       punpckhdq %%mm1, %%mm2\n\t"
-"       movq    %%mm0, 40(%%edx)\n\t"
-"       movq    %%mm2, 72(%%edx)\n\t"
+"       movq    %%mm0, 40(%%"REG_d")\n\t"
+"       movq    %%mm2, 72(%%"REG_d")\n\t"
 
-"       movd   48(%%ecx), %%mm3\n\t"
-"       movd   60(%%ecx), %%mm2\n\t"
-"       pfsub  52(%%ecx), %%mm3\n\t"
-"       pfsub  56(%%ecx), %%mm2\n\t"
-"       pfmul 120(%%ebx), %%mm3\n\t"
-"       pfmul 120(%%ebx), %%mm2\n\t"
+"       movd   48(%%"REG_c"), %%mm3\n\t"
+"       movd   60(%%"REG_c"), %%mm2\n\t"
+"       pfsub  52(%%"REG_c"), %%mm3\n\t"
+"       pfsub  56(%%"REG_c"), %%mm2\n\t"
+"       pfmul 120(%%"REG_b"), %%mm3\n\t"
+"       pfmul 120(%%"REG_b"), %%mm2\n\t"
 "       movq    %%mm2, %%mm1\n\t"
 
-"       pfadd  56(%%ecx), %%mm1\n\t"
-"       pfadd  60(%%ecx), %%mm1\n\t"
+"       pfadd  56(%%"REG_c"), %%mm1\n\t"
+"       pfadd  60(%%"REG_c"), %%mm1\n\t"
 "       movq    %%mm1, %%mm0\n\t"
 
-"       pfadd  48(%%ecx), %%mm0\n\t"
-"       pfadd  52(%%ecx), %%mm0\n\t"
+"       pfadd  48(%%"REG_c"), %%mm0\n\t"
+"       pfadd  52(%%"REG_c"), %%mm0\n\t"
 "       pfadd   %%mm3, %%mm1\n\t"
 "       punpckldq %%mm2, %%mm1\n\t"
 "       pfadd   %%mm3, %%mm2\n\t"
 "       punpckldq %%mm2, %%mm0\n\t"
-"       movq    %%mm1, 56(%%edx)\n\t"
-"       movq    %%mm0, 48(%%edx)\n\t"
+"       movq    %%mm1, 56(%%"REG_d")\n\t"
+"       movq    %%mm0, 48(%%"REG_d")\n\t"
 
 /*---*/
 
-"       movd   92(%%ecx), %%mm1\n\t"
-"       pfsub  88(%%ecx), %%mm1\n\t"
-"       pfmul 120(%%ebx), %%mm1\n\t"
-"       movd   %%mm1, 92(%%edx)\n\t"
-"       pfadd  92(%%ecx), %%mm1\n\t"
-"       pfadd  88(%%ecx), %%mm1\n\t"
+"       movd   92(%%"REG_c"), %%mm1\n\t"
+"       pfsub  88(%%"REG_c"), %%mm1\n\t"
+"       pfmul 120(%%"REG_b"), %%mm1\n\t"
+"       movd   %%mm1, 92(%%"REG_d")\n\t"
+"       pfadd  92(%%"REG_c"), %%mm1\n\t"
+"       pfadd  88(%%"REG_c"), %%mm1\n\t"
 "       movq   %%mm1, %%mm0\n\t"
 
-"       pfadd  80(%%ecx), %%mm0\n\t"
-"       pfadd  84(%%ecx), %%mm0\n\t"
-"       movd   %%mm0, 80(%%edx)\n\t"
+"       pfadd  80(%%"REG_c"), %%mm0\n\t"
+"       pfadd  84(%%"REG_c"), %%mm0\n\t"
+"       movd   %%mm0, 80(%%"REG_d")\n\t"
 
-"       movd   80(%%ecx), %%mm0\n\t"
-"       pfsub  84(%%ecx), %%mm0\n\t"
-"       pfmul 120(%%ebx), %%mm0\n\t"
+"       movd   80(%%"REG_c"), %%mm0\n\t"
+"       pfsub  84(%%"REG_c"), %%mm0\n\t"
+"       pfmul 120(%%"REG_b"), %%mm0\n\t"
 "       pfadd  %%mm0, %%mm1\n\t"
-"       pfadd  92(%%edx), %%mm0\n\t"
+"       pfadd  92(%%"REG_d"), %%mm0\n\t"
 "       punpckldq %%mm1, %%mm0\n\t"
-"       movq   %%mm0, 84(%%edx)\n\t"
+"       movq   %%mm0, 84(%%"REG_d")\n\t"
 
-"       movq    96(%%ecx), %%mm0\n\t"
+"       movq    96(%%"REG_c"), %%mm0\n\t"
 "       movq    %%mm0, %%mm1\n\t"
 "       pxor    %%mm7, %%mm1\n\t"
 "       pfacc   %%mm1, %%mm0\n\t"
 "       pfmul   %%mm6, %%mm0\n\t"
-"       movq    %%mm0, 96(%%edx)\n\t"
+"       movq    %%mm0, 96(%%"REG_d")\n\t"
 
-"       movd  108(%%ecx), %%mm0\n\t"
-"       pfsub 104(%%ecx), %%mm0\n\t"
-"       pfmul 120(%%ebx), %%mm0\n\t"
-"       movd  %%mm0, 108(%%edx)\n\t"
-"       pfadd 104(%%ecx), %%mm0\n\t"
-"       pfadd 108(%%ecx), %%mm0\n\t"
-"       movd  %%mm0, 104(%%edx)\n\t"
+"       movd  108(%%"REG_c"), %%mm0\n\t"
+"       pfsub 104(%%"REG_c"), %%mm0\n\t"
+"       pfmul 120(%%"REG_b"), %%mm0\n\t"
+"       movd  %%mm0, 108(%%"REG_d")\n\t"
+"       pfadd 104(%%"REG_c"), %%mm0\n\t"
+"       pfadd 108(%%"REG_c"), %%mm0\n\t"
+"       movd  %%mm0, 104(%%"REG_d")\n\t"
 
-"       movd  124(%%ecx), %%mm1\n\t"
-"       pfsub 120(%%ecx), %%mm1\n\t"
-"       pfmul 120(%%ebx), %%mm1\n\t"
-"       movd  %%mm1, 124(%%edx)\n\t"
-"       pfadd 120(%%ecx), %%mm1\n\t"
-"       pfadd 124(%%ecx), %%mm1\n\t"
+"       movd  124(%%"REG_c"), %%mm1\n\t"
+"       pfsub 120(%%"REG_c"), %%mm1\n\t"
+"       pfmul 120(%%"REG_b"), %%mm1\n\t"
+"       movd  %%mm1, 124(%%"REG_d")\n\t"
+"       pfadd 120(%%"REG_c"), %%mm1\n\t"
+"       pfadd 124(%%"REG_c"), %%mm1\n\t"
 "       movq  %%mm1, %%mm0\n\t"
 
-"       pfadd 112(%%ecx), %%mm0\n\t"
-"       pfadd 116(%%ecx), %%mm0\n\t"
-"       movd  %%mm0, 112(%%edx)\n\t"
+"       pfadd 112(%%"REG_c"), %%mm0\n\t"
+"       pfadd 116(%%"REG_c"), %%mm0\n\t"
+"       movd  %%mm0, 112(%%"REG_d")\n\t"
 
-"       movd  112(%%ecx), %%mm0\n\t"
-"       pfsub 116(%%ecx), %%mm0\n\t"
-"       pfmul 120(%%ebx), %%mm0\n\t"
+"       movd  112(%%"REG_c"), %%mm0\n\t"
+"       pfsub 116(%%"REG_c"), %%mm0\n\t"
+"       pfmul 120(%%"REG_b"), %%mm0\n\t"
 "       pfadd %%mm0,%%mm1\n\t"
-"       pfadd 124(%%edx), %%mm0\n\t"
+"       pfadd 124(%%"REG_d"), %%mm0\n\t"
 "       punpckldq %%mm1, %%mm0\n\t"
-"       movq  %%mm0, 116(%%edx)\n\t"
+"       movq  %%mm0, 116(%%"REG_d")\n\t"
 
 // this code is broken, there is nothing modifying the z flag above.
 #if 0
@@ -470,291 +471,291 @@
 /* Phase 7*/
 /* Code below is coded in scalar mode. Should be optimized */
 
-"       movd      (%%ecx), %%mm0\n\t"
-"       pfadd    4(%%ecx), %%mm0\n\t"
-"       movd     %%mm0, 1024(%%esi)\n\t"
+"       movd      (%%"REG_c"), %%mm0\n\t"
+"       pfadd    4(%%"REG_c"), %%mm0\n\t"
+"       movd     %%mm0, 1024(%%"REG_S")\n\t"
 
-"       movd      (%%ecx), %%mm0\n\t"
-"       pfsub    4(%%ecx), %%mm0\n\t"
-"       pfmul  120(%%ebx), %%mm0\n\t"
-"       movd      %%mm0, (%%esi)\n\t"
-"       movd      %%mm0, (%%edi)\n\t"
+"       movd      (%%"REG_c"), %%mm0\n\t"
+"       pfsub    4(%%"REG_c"), %%mm0\n\t"
+"       pfmul  120(%%"REG_b"), %%mm0\n\t"
+"       movd      %%mm0, (%%"REG_S")\n\t"
+"       movd      %%mm0, (%%"REG_D")\n\t"
 
-"       movd   12(%%ecx), %%mm0\n\t"
-"       pfsub   8(%%ecx), %%mm0\n\t"
-"       pfmul 120(%%ebx), %%mm0\n\t"
-"       movd    %%mm0, 512(%%edi)\n\t"
-"       pfadd   12(%%ecx), %%mm0\n\t"
-"       pfadd   8(%%ecx), %%mm0\n\t"
-"       movd    %%mm0, 512(%%esi)\n\t"
+"       movd   12(%%"REG_c"), %%mm0\n\t"
+"       pfsub   8(%%"REG_c"), %%mm0\n\t"
+"       pfmul 120(%%"REG_b"), %%mm0\n\t"
+"       movd    %%mm0, 512(%%"REG_D")\n\t"
+"       pfadd   12(%%"REG_c"), %%mm0\n\t"
+"       pfadd   8(%%"REG_c"), %%mm0\n\t"
+"       movd    %%mm0, 512(%%"REG_S")\n\t"
 
-"       movd   16(%%ecx), %%mm0\n\t"
-"       pfsub  20(%%ecx), %%mm0\n\t"
-"       pfmul 120(%%ebx), %%mm0\n\t"
+"       movd   16(%%"REG_c"), %%mm0\n\t"
+"       pfsub  20(%%"REG_c"), %%mm0\n\t"
+"       pfmul 120(%%"REG_b"), %%mm0\n\t"
 "       movq    %%mm0, %%mm3\n\t"
 
-"       movd   28(%%ecx), %%mm0\n\t"
-"       pfsub  24(%%ecx), %%mm0\n\t"
-"       pfmul 120(%%ebx), %%mm0\n\t"
-"       movd    %%mm0, 768(%%edi)\n\t"
+"       movd   28(%%"REG_c"), %%mm0\n\t"
+"       pfsub  24(%%"REG_c"), %%mm0\n\t"
+"       pfmul 120(%%"REG_b"), %%mm0\n\t"
+"       movd    %%mm0, 768(%%"REG_D")\n\t"
 "       movq    %%mm0, %%mm2\n\t"
 
-"       pfadd  24(%%ecx), %%mm0\n\t"
-"       pfadd  28(%%ecx), %%mm0\n\t"
+"       pfadd  24(%%"REG_c"), %%mm0\n\t"
+"       pfadd  28(%%"REG_c"), %%mm0\n\t"
 "       movq    %%mm0, %%mm1\n\t"
 
-"       pfadd  16(%%ecx), %%mm0\n\t"
-"       pfadd  20(%%ecx), %%mm0\n\t"
-"       movd   %%mm0, 768(%%esi)\n\t"
+"       pfadd  16(%%"REG_c"), %%mm0\n\t"
+"       pfadd  20(%%"REG_c"), %%mm0\n\t"
+"       movd   %%mm0, 768(%%"REG_S")\n\t"
 "       pfadd  %%mm3, %%mm1\n\t"
-"       movd   %%mm1, 256(%%esi)\n\t"
+"       movd   %%mm1, 256(%%"REG_S")\n\t"
 "       pfadd  %%mm3, %%mm2\n\t"
-"       movd   %%mm2, 256(%%edi)\n\t"
+"       movd   %%mm2, 256(%%"REG_D")\n\t"
 
 /* Phase 8*/
 
-"       movq   32(%%edx), %%mm0\n\t"
-"       movq   48(%%edx), %%mm1\n\t"
-"       pfadd  48(%%edx), %%mm0\n\t"
-"       pfadd  40(%%edx), %%mm1\n\t"
-"       movd   %%mm0, 896(%%esi)\n\t"
-"       movd   %%mm1, 640(%%esi)\n\t"
+"       movq   32(%%"REG_d"), %%mm0\n\t"
+"       movq   48(%%"REG_d"), %%mm1\n\t"
+"       pfadd  48(%%"REG_d"), %%mm0\n\t"
+"       pfadd  40(%%"REG_d"), %%mm1\n\t"
+"       movd   %%mm0, 896(%%"REG_S")\n\t"
+"       movd   %%mm1, 640(%%"REG_S")\n\t"
 "       psrlq  $32, %%mm0\n\t"
 "       psrlq  $32, %%mm1\n\t"
-"       movd   %%mm0, 128(%%edi)\n\t"
-"       movd   %%mm1, 384(%%edi)\n\t"
+"       movd   %%mm0, 128(%%"REG_D")\n\t"
+"       movd   %%mm1, 384(%%"REG_D")\n\t"
 
-"       movd   40(%%edx), %%mm0\n\t"
-"       pfadd  56(%%edx), %%mm0\n\t"
-"       movd   %%mm0, 384(%%esi)\n\t"
+"       movd   40(%%"REG_d"), %%mm0\n\t"
+"       pfadd  56(%%"REG_d"), %%mm0\n\t"
+"       movd   %%mm0, 384(%%"REG_S")\n\t"
 
-"       movd   56(%%edx), %%mm0\n\t"
-"       pfadd  36(%%edx), %%mm0\n\t"
-"       movd   %%mm0, 128(%%esi)\n\t"
+"       movd   56(%%"REG_d"), %%mm0\n\t"
+"       pfadd  36(%%"REG_d"), %%mm0\n\t"
+"       movd   %%mm0, 128(%%"REG_S")\n\t"
 
-"       movd   60(%%edx), %%mm0\n\t"
-"       movd   %%mm0, 896(%%edi)\n\t"
-"       pfadd  44(%%edx), %%mm0\n\t"
-"       movd   %%mm0, 640(%%edi)\n\t"
+"       movd   60(%%"REG_d"), %%mm0\n\t"
+"       movd   %%mm0, 896(%%"REG_D")\n\t"
+"       pfadd  44(%%"REG_d"), %%mm0\n\t"
+"       movd   %%mm0, 640(%%"REG_D")\n\t"
 
-"       movq   96(%%edx), %%mm0\n\t"
-"       movq   112(%%edx), %%mm2\n\t"
-"       movq   104(%%edx), %%mm4\n\t"
-"       pfadd  112(%%edx), %%mm0\n\t"
-"       pfadd  104(%%edx), %%mm2\n\t"
-"       pfadd  120(%%edx), %%mm4\n\t"
+"       movq   96(%%"REG_d"), %%mm0\n\t"
+"       movq   112(%%"REG_d"), %%mm2\n\t"
+"       movq   104(%%"REG_d"), %%mm4\n\t"
+"       pfadd  112(%%"REG_d"), %%mm0\n\t"
+"       pfadd  104(%%"REG_d"), %%mm2\n\t"
+"       pfadd  120(%%"REG_d"), %%mm4\n\t"
 "       movq   %%mm0, %%mm1\n\t"
 "       movq   %%mm2, %%mm3\n\t"
 "       movq   %%mm4, %%mm5\n\t"
-"       pfadd  64(%%edx), %%mm0\n\t"
-"       pfadd  80(%%edx), %%mm2\n\t"
-"       pfadd  72(%%edx), %%mm4\n\t"
-"       movd   %%mm0, 960(%%esi)\n\t"
-"       movd   %%mm2, 704(%%esi)\n\t"
-"       movd   %%mm4, 448(%%esi)\n\t"
+"       pfadd  64(%%"REG_d"), %%mm0\n\t"
+"       pfadd  80(%%"REG_d"), %%mm2\n\t"
+"       pfadd  72(%%"REG_d"), %%mm4\n\t"
+"       movd   %%mm0, 960(%%"REG_S")\n\t"
+"       movd   %%mm2, 704(%%"REG_S")\n\t"
+"       movd   %%mm4, 448(%%"REG_S")\n\t"
 "       psrlq  $32, %%mm0\n\t"
 "       psrlq  $32, %%mm2\n\t"
 "       psrlq  $32, %%mm4\n\t"
-"       movd   %%mm0, 64(%%edi)\n\t"
-"       movd   %%mm2, 320(%%edi)\n\t"
-"       movd   %%mm4, 576(%%edi)\n\t"
-"       pfadd  80(%%edx), %%mm1\n\t"
-"       pfadd  72(%%edx), %%mm3\n\t"
-"       pfadd  88(%%edx), %%mm5\n\t"
-"       movd   %%mm1, 832(%%esi)\n\t"
-"       movd   %%mm3, 576(%%esi)\n\t"
-"       movd   %%mm5, 320(%%esi)\n\t"
+"       movd   %%mm0, 64(%%"REG_D")\n\t"
+"       movd   %%mm2, 320(%%"REG_D")\n\t"
+"       movd   %%mm4, 576(%%"REG_D")\n\t"
+"       pfadd  80(%%"REG_d"), %%mm1\n\t"
+"       pfadd  72(%%"REG_d"), %%mm3\n\t"
+"       pfadd  88(%%"REG_d"), %%mm5\n\t"
+"       movd   %%mm1, 832(%%"REG_S")\n\t"
+"       movd   %%mm3, 576(%%"REG_S")\n\t"
+"       movd   %%mm5, 320(%%"REG_S")\n\t"
 "       psrlq  $32, %%mm1\n\t"
 "       psrlq  $32, %%mm3\n\t"
 "       psrlq  $32, %%mm5\n\t"
-"       movd   %%mm1, 192(%%edi)\n\t"
-"       movd   %%mm3, 448(%%edi)\n\t"
-"       movd   %%mm5, 704(%%edi)\n\t"
+"       movd   %%mm1, 192(%%"REG_D")\n\t"
+"       movd   %%mm3, 448(%%"REG_D")\n\t"
+"       movd   %%mm5, 704(%%"REG_D")\n\t"
 
-"       movd   120(%%edx), %%mm0\n\t"
-"       pfadd  100(%%edx), %%mm0\n\t"
+"       movd   120(%%"REG_d"), %%mm0\n\t"
+"       pfadd  100(%%"REG_d"), %%mm0\n\t"
 "       movq   %%mm0, %%mm1\n\t"
-"       pfadd  88(%%edx), %%mm0\n\t"
-"       movd   %%mm0, 192(%%esi)\n\t"
-"       pfadd  68(%%edx), %%mm1\n\t"
-"       movd   %%mm1, 64(%%esi)\n\t"
+"       pfadd  88(%%"REG_d"), %%mm0\n\t"
+"       movd   %%mm0, 192(%%"REG_S")\n\t"
+"       pfadd  68(%%"REG_d"), %%mm1\n\t"
+"       movd   %%mm1, 64(%%"REG_S")\n\t"
 
-"       movd  124(%%edx), %%mm0\n\t"
-"       movd  %%mm0, 960(%%edi)\n\t"
-"       pfadd  92(%%edx), %%mm0\n\t"
-"       movd  %%mm0, 832(%%edi)\n\t"
+"       movd  124(%%"REG_d"), %%mm0\n\t"
+"       movd  %%mm0, 960(%%"REG_D")\n\t"
+"       pfadd  92(%%"REG_d"), %%mm0\n\t"
+"       movd  %%mm0, 832(%%"REG_D")\n\t"
 
 "       jmp     .L_bye\n\t"
 ".L01:  \n\t"
 #endif
 /* Phase 9*/
 
-"       movq    (%%ecx), %%mm0\n\t"
+"       movq    (%%"REG_c"), %%mm0\n\t"
 "       movq    %%mm0, %%mm1\n\t"
 "       pxor    %%mm7, %%mm1\n\t"
 "       pfacc   %%mm1, %%mm0\n\t"
 "       pfmul   %%mm6, %%mm0\n\t"
 "       pf2iw   %%mm0, %%mm0\n\t"
-"       movd    %%mm0, %%eax\n\t"
-"       movw    %%ax, 512(%%esi)\n\t"
+"       movd    %%mm0, %%"REG_a"\n\t"
+"       movw    %%ax, 512(%%"REG_S")\n\t"
 "       psrlq   $32, %%mm0\n\t"
-"       movd    %%mm0, %%eax\n\t"
-"       movw    %%ax, (%%esi)\n\t"
+"       movd    %%mm0, %%"REG_a"\n\t"
+"       movw    %%ax, (%%"REG_S")\n\t"
 
-"       movd    12(%%ecx), %%mm0\n\t"
-"       pfsub    8(%%ecx), %%mm0\n\t"
-"       pfmul  120(%%ebx), %%mm0\n\t"
+"       movd    12(%%"REG_c"), %%mm0\n\t"
+"       pfsub    8(%%"REG_c"), %%mm0\n\t"
+"       pfmul  120(%%"REG_b"), %%mm0\n\t"
 "       pf2iw    %%mm0, %%mm7\n\t"
-"       movd     %%mm7, %%eax\n\t"
-"       movw     %%ax, 256(%%edi)\n\t"
-"       pfadd   12(%%ecx), %%mm0\n\t"
-"       pfadd    8(%%ecx), %%mm0\n\t"
+"       movd     %%mm7, %%"REG_a"\n\t"
+"       movw     %%ax, 256(%%"REG_D")\n\t"
+"       pfadd   12(%%"REG_c"), %%mm0\n\t"
+"       pfadd    8(%%"REG_c"), %%mm0\n\t"
 "       pf2iw    %%mm0, %%mm0\n\t"
-"       movd     %%mm0, %%eax\n\t"
-"       movw     %%ax, 256(%%esi)\n\t"
+"       movd     %%mm0, %%"REG_a"\n\t"
+"       movw     %%ax, 256(%%"REG_S")\n\t"
 
-"       movd   16(%%ecx), %%mm3\n\t"
-"       pfsub  20(%%ecx), %%mm3\n\t"
-"       pfmul  120(%%ebx), %%mm3\n\t"
+"       movd   16(%%"REG_c"), %%mm3\n\t"
+"       pfsub  20(%%"REG_c"), %%mm3\n\t"
+"       pfmul  120(%%"REG_b"), %%mm3\n\t"
 "       movq   %%mm3, %%mm2\n\t"
 
-"       movd   28(%%ecx), %%mm2\n\t"
-"       pfsub  24(%%ecx), %%mm2\n\t"
-"       pfmul 120(%%ebx), %%mm2\n\t"
+"       movd   28(%%"REG_c"), %%mm2\n\t"
+"       pfsub  24(%%"REG_c"), %%mm2\n\t"
+"       pfmul 120(%%"REG_b"), %%mm2\n\t"
 "       movq   %%mm2, %%mm1\n\t"
 
 "       pf2iw  %%mm2, %%mm7\n\t"
-"       movd   %%mm7, %%eax\n\t"
-"       movw   %%ax, 384(%%edi)\n\t"
+"       movd   %%mm7, %%"REG_a"\n\t"
+"       movw   %%ax, 384(%%"REG_D")\n\t"
 
-"       pfadd  24(%%ecx), %%mm1\n\t"
-"       pfadd  28(%%ecx), %%mm1\n\t"
+"       pfadd  24(%%"REG_c"), %%mm1\n\t"
+"       pfadd  28(%%"REG_c"), %%mm1\n\t"
 "       movq   %%mm1, %%mm0\n\t"
 
-"       pfadd  16(%%ecx), %%mm0\n\t"
-"       pfadd  20(%%ecx), %%mm0\n\t"
+"       pfadd  16(%%"REG_c"), %%mm0\n\t"
+"       pfadd  20(%%"REG_c"), %%mm0\n\t"
 "       pf2iw  %%mm0, %%mm0\n\t"
-"       movd   %%mm0, %%eax\n\t"
-"       movw   %%ax, 384(%%esi)\n\t"
+"       movd   %%mm0, %%"REG_a"\n\t"
+"       movw   %%ax, 384(%%"REG_S")\n\t"
 "       pfadd  %%mm3, %%mm1\n\t"
 "       pf2iw  %%mm1, %%mm1\n\t"
-"       movd   %%mm1, %%eax\n\t"
-"       movw   %%ax, 128(%%esi)\n\t"
+"       movd   %%mm1, %%"REG_a"\n\t"
+"       movw   %%ax, 128(%%"REG_S")\n\t"
 "       pfadd  %%mm3, %%mm2\n\t"
 "       pf2iw  %%mm2, %%mm2\n\t"
-"       movd   %%mm2, %%eax\n\t"
-"       movw   %%ax, 128(%%edi)\n\t"
+"       movd   %%mm2, %%"REG_a"\n\t"
+"       movw   %%ax, 128(%%"REG_D")\n\t"
 
 /* Phase 10*/
 
-"       movq    32(%%edx), %%mm0\n\t"
-"       movq    48(%%edx), %%mm1\n\t"
-"       pfadd   48(%%edx), %%mm0\n\t"
-"       pfadd   40(%%edx), %%mm1\n\t"
+"       movq    32(%%"REG_d"), %%mm0\n\t"
+"       movq    48(%%"REG_d"), %%mm1\n\t"
+"       pfadd   48(%%"REG_d"), %%mm0\n\t"
+"       pfadd   40(%%"REG_d"), %%mm1\n\t"
 "       pf2iw   %%mm0, %%mm0\n\t"
 "       pf2iw   %%mm1, %%mm1\n\t"
-"       movd    %%mm0, %%eax\n\t"
-"       movd    %%mm1, %%ecx\n\t"
-"       movw    %%ax, 448(%%esi)\n\t"
-"       movw    %%cx, 320(%%esi)\n\t"
+"       movd    %%mm0, %%"REG_a"\n\t"
+"       movd    %%mm1, %%"REG_c"\n\t"
+"       movw    %%ax, 448(%%"REG_S")\n\t"
+"       movw    %%cx, 320(%%"REG_S")\n\t"
 "       psrlq   $32, %%mm0\n\t"
 "       psrlq   $32, %%mm1\n\t"
-"       movd    %%mm0, %%eax\n\t"
-"       movd    %%mm1, %%ecx\n\t"
-"       movw    %%ax, 64(%%edi)\n\t"
-"       movw    %%cx, 192(%%edi)\n\t"
+"       movd    %%mm0, %%"REG_a"\n\t"
+"       movd    %%mm1, %%"REG_c"\n\t"
+"       movw    %%ax, 64(%%"REG_D")\n\t"
+"       movw    %%cx, 192(%%"REG_D")\n\t"
 
-"       movd   40(%%edx), %%mm3\n\t"
-"       movd   56(%%edx), %%mm4\n\t"
-"       movd   60(%%edx), %%mm0\n\t"
-"       movd   44(%%edx), %%mm2\n\t"
-"       movd  120(%%edx), %%mm5\n\t"
+"       movd   40(%%"REG_d"), %%mm3\n\t"
+"       movd   56(%%"REG_d"), %%mm4\n\t"
+"       movd   60(%%"REG_d"), %%mm0\n\t"
+"       movd   44(%%"REG_d"), %%mm2\n\t"
+"       movd  120(%%"REG_d"), %%mm5\n\t"
 "       punpckldq %%mm4, %%mm3\n\t"
-"       punpckldq 124(%%edx), %%mm0\n\t"
-"       pfadd 100(%%edx), %%mm5\n\t"
-"       punpckldq 36(%%edx), %%mm4\n\t"
-"       punpckldq 92(%%edx), %%mm2\n\t"
+"       punpckldq 124(%%"REG_d"), %%mm0\n\t"
+"       pfadd 100(%%"REG_d"), %%mm5\n\t"
+"       punpckldq 36(%%"REG_d"), %%mm4\n\t"
+"       punpckldq 92(%%"REG_d"), %%mm2\n\t"
 "       movq  %%mm5, %%mm6\n\t"
 "       pfadd  %%mm4, %%mm3\n\t"
 "       pf2iw  %%mm0, %%mm1\n\t"
 "       pf2iw  %%mm3, %%mm3\n\t"
-"       pfadd  88(%%edx), %%mm5\n\t"
-"       movd   %%mm1, %%eax\n\t"
-"       movd   %%mm3, %%ecx\n\t"
-"       movw   %%ax, 448(%%edi)\n\t"
-"       movw   %%cx, 192(%%esi)\n\t"
+"       pfadd  88(%%"REG_d"), %%mm5\n\t"
+"       movd   %%mm1, %%"REG_a"\n\t"
+"       movd   %%mm3, %%"REG_c"\n\t"
+"       movw   %%ax, 448(%%"REG_D")\n\t"
+"       movw   %%cx, 192(%%"REG_S")\n\t"
 "       pf2iw  %%mm5, %%mm5\n\t"
 "       psrlq  $32, %%mm1\n\t"
 "       psrlq  $32, %%mm3\n\t"
-"       movd   %%mm5, %%ebx\n\t"
-"       movd   %%mm1, %%eax\n\t"
-"       movd   %%mm3, %%ecx\n\t"
-"       movw   %%bx, 96(%%esi)\n\t"
-"       movw   %%ax, 480(%%edi)\n\t"
-"       movw   %%cx, 64(%%esi)\n\t"
+"       movd   %%mm5, %%"REG_b"\n\t"
+"       movd   %%mm1, %%"REG_a"\n\t"
+"       movd   %%mm3, %%"REG_c"\n\t"
+"       movw   %%bx, 96(%%"REG_S")\n\t"
+"       movw   %%ax, 480(%%"REG_D")\n\t"
+"       movw   %%cx, 64(%%"REG_S")\n\t"
 "       pfadd  %%mm2, %%mm0\n\t"
 "       pf2iw  %%mm0, %%mm0\n\t"
-"       movd   %%mm0, %%eax\n\t"
-"       pfadd  68(%%edx), %%mm6\n\t"
-"       movw   %%ax, 320(%%edi)\n\t"
+"       movd   %%mm0, %%"REG_a"\n\t"
+"       pfadd  68(%%"REG_d"), %%mm6\n\t"
+"       movw   %%ax, 320(%%"REG_D")\n\t"
 "       psrlq  $32, %%mm0\n\t"
 "       pf2iw  %%mm6, %%mm6\n\t"
-"       movd   %%mm0, %%eax\n\t"
-"       movd   %%mm6, %%ebx\n\t"
-"       movw   %%ax, 416(%%edi)\n\t"
-"       movw   %%bx, 32(%%esi)\n\t"
+"       movd   %%mm0, %%"REG_a"\n\t"
+"       movd   %%mm6, %%"REG_b"\n\t"
+"       movw   %%ax, 416(%%"REG_D")\n\t"
+"       movw   %%bx, 32(%%"REG_S")\n\t"
 
-"       movq   96(%%edx), %%mm0\n\t"
-"       movq  112(%%edx), %%mm2\n\t"
-"       movq  104(%%edx), %%mm4\n\t"
+"       movq   96(%%"REG_d"), %%mm0\n\t"
+"       movq  112(%%"REG_d"), %%mm2\n\t"
+"       movq  104(%%"REG_d"), %%mm4\n\t"
 "       pfadd %%mm2, %%mm0\n\t"
 "       pfadd %%mm4, %%mm2\n\t"
-"       pfadd 120(%%edx), %%mm4\n\t"
+"       pfadd 120(%%"REG_d"), %%mm4\n\t"
 "       movq  %%mm0, %%mm1\n\t"
 "       movq  %%mm2, %%mm3\n\t"
 "       movq  %%mm4, %%mm5\n\t"
-"       pfadd  64(%%edx), %%mm0\n\t"
-"       pfadd  80(%%edx), %%mm2\n\t"
-"       pfadd  72(%%edx), %%mm4\n\t"
+"       pfadd  64(%%"REG_d"), %%mm0\n\t"
+"       pfadd  80(%%"REG_d"), %%mm2\n\t"
+"       pfadd  72(%%"REG_d"), %%mm4\n\t"
 "       pf2iw  %%mm0, %%mm0\n\t"
 "       pf2iw  %%mm2, %%mm2\n\t"
 "       pf2iw  %%mm4, %%mm4\n\t"
-"       movd   %%mm0, %%eax\n\t"
-"       movd   %%mm2, %%ecx\n\t"
-"       movd   %%mm4, %%ebx\n\t"
-"       movw   %%ax, 480(%%esi)\n\t"
-"       movw   %%cx, 352(%%esi)\n\t"
-"       movw   %%bx, 224(%%esi)\n\t"
+"       movd   %%mm0, %%"REG_a"\n\t"
+"       movd   %%mm2, %%"REG_c"\n\t"
+"       movd   %%mm4, %%"REG_b"\n\t"
+"       movw   %%ax, 480(%%"REG_S")\n\t"
+"       movw   %%cx, 352(%%"REG_S")\n\t"
+"       movw   %%bx, 224(%%"REG_S")\n\t"
 "       psrlq  $32, %%mm0\n\t"
 "       psrlq  $32, %%mm2\n\t"
 "       psrlq  $32, %%mm4\n\t"
-"       movd   %%mm0, %%eax\n\t"
-"       movd   %%mm2, %%ecx\n\t"
-"       movd   %%mm4, %%ebx\n\t"
-"       movw   %%ax, 32(%%edi)\n\t"
-"       movw   %%cx, 160(%%edi)\n\t"
-"       movw   %%bx, 288(%%edi)\n\t"
-"       pfadd  80(%%edx), %%mm1\n\t"
-"       pfadd  72(%%edx), %%mm3\n\t"
-"       pfadd  88(%%edx), %%mm5\n\t"
+"       movd   %%mm0, %%"REG_a"\n\t"
+"       movd   %%mm2, %%"REG_c"\n\t"
+"       movd   %%mm4, %%"REG_b"\n\t"
+"       movw   %%ax, 32(%%"REG_D")\n\t"
+"       movw   %%cx, 160(%%"REG_D")\n\t"
+"       movw   %%bx, 288(%%"REG_D")\n\t"
+"       pfadd  80(%%"REG_d"), %%mm1\n\t"
+"       pfadd  72(%%"REG_d"), %%mm3\n\t"
+"       pfadd  88(%%"REG_d"), %%mm5\n\t"
 "       pf2iw  %%mm1, %%mm1\n\t"
 "       pf2iw  %%mm3, %%mm3\n\t"
 "       pf2iw  %%mm5, %%mm5\n\t"
-"       movd   %%mm1, %%eax\n\t"
-"       movd   %%mm3, %%ecx\n\t"
-"       movd   %%mm5, %%ebx\n\t"
-"       movw   %%ax, 416(%%esi)\n\t"
-"       movw   %%cx, 288(%%esi)\n\t"
-"       movw   %%bx, 160(%%esi)\n\t"
+"       movd   %%mm1, %%"REG_a"\n\t"
+"       movd   %%mm3, %%"REG_c"\n\t"
+"       movd   %%mm5, %%"REG_b"\n\t"
+"       movw   %%ax, 416(%%"REG_S")\n\t"
+"       movw   %%cx, 288(%%"REG_S")\n\t"
+"       movw   %%bx, 160(%%"REG_S")\n\t"
 "       psrlq  $32, %%mm1\n\t"
 "       psrlq  $32, %%mm3\n\t"
 "       psrlq  $32, %%mm5\n\t"
-"       movd   %%mm1, %%eax\n\t"
-"       movd   %%mm3, %%ecx\n\t"
-"       movd   %%mm5, %%ebx\n\t"
-"       movw   %%ax, 96(%%edi)\n\t"
-"       movw   %%cx, 224(%%edi)\n\t"
-"       movw   %%bx, 352(%%edi)\n\t"
+"       movd   %%mm1, %%"REG_a"\n\t"
+"       movd   %%mm3, %%"REG_c"\n\t"
+"       movd   %%mm5, %%"REG_b"\n\t"
+"       movw   %%ax, 96(%%"REG_D")\n\t"
+"       movw   %%cx, 224(%%"REG_D")\n\t"
+"       movw   %%bx, 352(%%"REG_D")\n\t"
 
 "       movsw\n\t"
 
--- a/mp3lib/dct64_mmx.c	Sun May 30 09:47:53 2010 +0000
+++ b/mp3lib/dct64_mmx.c	Sun May 30 10:01:40 2010 +0000
@@ -6,978 +6,979 @@
 #include "config.h"
 #include "mangle.h"
 #include "mpg123.h"
+#include "libavutil/x86_cpu.h"
 
 void dct64_MMX(short *a,short *b,real *c)
 {
     char tmp[256];
     __asm__ volatile(
-"       movl %2,%%eax\n\t"
+"       mov %2,%%"REG_a"\n\t"
 /* Phase 1*/
-"       flds     (%%eax)\n\t"
-"       leal 128+%3,%%edx\n\t"
-"       fadds 124(%%eax)\n\t"
-"       movl %0,%%esi\n\t"
-"       fstps    (%%edx)\n\t"
-"       movl %1,%%edi\n\t"
+"       flds     (%%"REG_a")\n\t"
+"       lea 128+%3,%%"REG_d"\n\t"
+"       fadds 124(%%"REG_a")\n\t"
+"       mov %0,%%"REG_S"\n\t"
+"       fstps    (%%"REG_d")\n\t"
+"       mov %1,%%"REG_D"\n\t"
 
-"       flds    4(%%eax)\n\t"
-"       movl $"MANGLE(costab_mmx)",%%ebx\n\t"
-"       fadds 120(%%eax)\n\t"
-"       orl %%ecx,%%ecx\n\t"
-"       fstps   4(%%edx)\n\t"
+"       flds    4(%%"REG_a")\n\t"
+"       mov $"MANGLE(costab_mmx)",%%"REG_b"\n\t"
+"       fadds 120(%%"REG_a")\n\t"
+"       or %%"REG_c",%%"REG_c"\n\t"
+"       fstps   4(%%"REG_d")\n\t"
 
-"       flds     (%%eax)\n\t"
-"       leal %3,%%ecx\n\t"
-"       fsubs 124(%%eax)\n\t"
-"       fmuls    (%%ebx)\n\t"
-"       fstps 124(%%edx)\n\t"
+"       flds     (%%"REG_a")\n\t"
+"       lea %3,%%"REG_c"\n\t"
+"       fsubs 124(%%"REG_a")\n\t"
+"       fmuls    (%%"REG_b")\n\t"
+"       fstps 124(%%"REG_d")\n\t"
 
-"       flds    4(%%eax)\n\t"
-"       fsubs 120(%%eax)\n\t"
-"       fmuls   4(%%ebx)\n\t"
-"       fstps 120(%%edx)\n\t"
+"       flds    4(%%"REG_a")\n\t"
+"       fsubs 120(%%"REG_a")\n\t"
+"       fmuls   4(%%"REG_b")\n\t"
+"       fstps 120(%%"REG_d")\n\t"
 
-"       flds    8(%%eax)\n\t"
-"       fadds 116(%%eax)\n\t"
-"       fstps   8(%%edx)\n\t"
+"       flds    8(%%"REG_a")\n\t"
+"       fadds 116(%%"REG_a")\n\t"
+"       fstps   8(%%"REG_d")\n\t"
 
-"       flds   12(%%eax)\n\t"
-"       fadds 112(%%eax)\n\t"
-"       fstps  12(%%edx)\n\t"
+"       flds   12(%%"REG_a")\n\t"
+"       fadds 112(%%"REG_a")\n\t"
+"       fstps  12(%%"REG_d")\n\t"
 
-"       flds    8(%%eax)\n\t"
-"       fsubs 116(%%eax)\n\t"
-"       fmuls   8(%%ebx)\n\t"
-"       fstps 116(%%edx)\n\t"
+"       flds    8(%%"REG_a")\n\t"
+"       fsubs 116(%%"REG_a")\n\t"
+"       fmuls   8(%%"REG_b")\n\t"
+"       fstps 116(%%"REG_d")\n\t"
 
-"       flds   12(%%eax)\n\t"
-"       fsubs 112(%%eax)\n\t"
-"       fmuls  12(%%ebx)\n\t"
-"       fstps 112(%%edx)\n\t"
+"       flds   12(%%"REG_a")\n\t"
+"       fsubs 112(%%"REG_a")\n\t"
+"       fmuls  12(%%"REG_b")\n\t"
+"       fstps 112(%%"REG_d")\n\t"
 
-"       flds   16(%%eax)\n\t"
-"       fadds 108(%%eax)\n\t"
-"       fstps  16(%%edx)\n\t"
+"       flds   16(%%"REG_a")\n\t"
+"       fadds 108(%%"REG_a")\n\t"
+"       fstps  16(%%"REG_d")\n\t"
 
-"       flds   20(%%eax)\n\t"
-"       fadds 104(%%eax)\n\t"
-"       fstps  20(%%edx)\n\t"
+"       flds   20(%%"REG_a")\n\t"
+"       fadds 104(%%"REG_a")\n\t"
+"       fstps  20(%%"REG_d")\n\t"
 
-"       flds   16(%%eax)\n\t"
-"       fsubs 108(%%eax)\n\t"
-"       fmuls  16(%%ebx)\n\t"
-"       fstps 108(%%edx)\n\t"
+"       flds   16(%%"REG_a")\n\t"
+"       fsubs 108(%%"REG_a")\n\t"
+"       fmuls  16(%%"REG_b")\n\t"
+"       fstps 108(%%"REG_d")\n\t"
 
-"       flds   20(%%eax)\n\t"
-"       fsubs 104(%%eax)\n\t"
-"       fmuls  20(%%ebx)\n\t"
-"       fstps 104(%%edx)\n\t"
+"       flds   20(%%"REG_a")\n\t"
+"       fsubs 104(%%"REG_a")\n\t"
+"       fmuls  20(%%"REG_b")\n\t"
+"       fstps 104(%%"REG_d")\n\t"
 
-"       flds   24(%%eax)\n\t"
-"       fadds 100(%%eax)\n\t"
-"       fstps  24(%%edx)\n\t"
+"       flds   24(%%"REG_a")\n\t"
+"       fadds 100(%%"REG_a")\n\t"
+"       fstps  24(%%"REG_d")\n\t"
 
-"       flds   28(%%eax)\n\t"
-"       fadds  96(%%eax)\n\t"
-"       fstps  28(%%edx)\n\t"
+"       flds   28(%%"REG_a")\n\t"
+"       fadds  96(%%"REG_a")\n\t"
+"       fstps  28(%%"REG_d")\n\t"
 
-"       flds   24(%%eax)\n\t"
-"       fsubs 100(%%eax)\n\t"
-"       fmuls  24(%%ebx)\n\t"
-"       fstps 100(%%edx)\n\t"
+"       flds   24(%%"REG_a")\n\t"
+"       fsubs 100(%%"REG_a")\n\t"
+"       fmuls  24(%%"REG_b")\n\t"
+"       fstps 100(%%"REG_d")\n\t"
 
-"       flds   28(%%eax)\n\t"
-"       fsubs  96(%%eax)\n\t"
-"       fmuls  28(%%ebx)\n\t"
-"       fstps  96(%%edx)\n\t"
+"       flds   28(%%"REG_a")\n\t"
+"       fsubs  96(%%"REG_a")\n\t"
+"       fmuls  28(%%"REG_b")\n\t"
+"       fstps  96(%%"REG_d")\n\t"
 
-"       flds   32(%%eax)\n\t"
-"       fadds  92(%%eax)\n\t"
-"       fstps  32(%%edx)\n\t"
+"       flds   32(%%"REG_a")\n\t"
+"       fadds  92(%%"REG_a")\n\t"
+"       fstps  32(%%"REG_d")\n\t"
 
-"       flds   36(%%eax)\n\t"
-"       fadds  88(%%eax)\n\t"
-"       fstps  36(%%edx)\n\t"
+"       flds   36(%%"REG_a")\n\t"
+"       fadds  88(%%"REG_a")\n\t"
+"       fstps  36(%%"REG_d")\n\t"
 
-"       flds   32(%%eax)\n\t"
-"       fsubs  92(%%eax)\n\t"
-"       fmuls  32(%%ebx)\n\t"
-"       fstps  92(%%edx)\n\t"
+"       flds   32(%%"REG_a")\n\t"
+"       fsubs  92(%%"REG_a")\n\t"
+"       fmuls  32(%%"REG_b")\n\t"
+"       fstps  92(%%"REG_d")\n\t"
 
-"       flds   36(%%eax)\n\t"
-"       fsubs  88(%%eax)\n\t"
-"       fmuls  36(%%ebx)\n\t"
-"       fstps  88(%%edx)\n\t"
+"       flds   36(%%"REG_a")\n\t"
+"       fsubs  88(%%"REG_a")\n\t"
+"       fmuls  36(%%"REG_b")\n\t"
+"       fstps  88(%%"REG_d")\n\t"
 
-"       flds   40(%%eax)\n\t"
-"       fadds  84(%%eax)\n\t"
-"       fstps  40(%%edx)\n\t"
+"       flds   40(%%"REG_a")\n\t"
+"       fadds  84(%%"REG_a")\n\t"
+"       fstps  40(%%"REG_d")\n\t"
 
-"       flds   44(%%eax)\n\t"
-"       fadds  80(%%eax)\n\t"
-"       fstps  44(%%edx)\n\t"
+"       flds   44(%%"REG_a")\n\t"
+"       fadds  80(%%"REG_a")\n\t"
+"       fstps  44(%%"REG_d")\n\t"
 
-"       flds   40(%%eax)\n\t"
-"       fsubs  84(%%eax)\n\t"
-"       fmuls  40(%%ebx)\n\t"
-"       fstps  84(%%edx)\n\t"
+"       flds   40(%%"REG_a")\n\t"
+"       fsubs  84(%%"REG_a")\n\t"
+"       fmuls  40(%%"REG_b")\n\t"
+"       fstps  84(%%"REG_d")\n\t"
 
-"       flds   44(%%eax)\n\t"
-"       fsubs  80(%%eax)\n\t"
-"       fmuls  44(%%ebx)\n\t"
-"       fstps  80(%%edx)\n\t"
+"       flds   44(%%"REG_a")\n\t"
+"       fsubs  80(%%"REG_a")\n\t"
+"       fmuls  44(%%"REG_b")\n\t"
+"       fstps  80(%%"REG_d")\n\t"
 
-"       flds   48(%%eax)\n\t"
-"       fadds  76(%%eax)\n\t"
-"       fstps  48(%%edx)\n\t"
+"       flds   48(%%"REG_a")\n\t"
+"       fadds  76(%%"REG_a")\n\t"
+"       fstps  48(%%"REG_d")\n\t"
 
-"       flds   52(%%eax)\n\t"
-"       fadds  72(%%eax)\n\t"
-"       fstps  52(%%edx)\n\t"
+"       flds   52(%%"REG_a")\n\t"
+"       fadds  72(%%"REG_a")\n\t"
+"       fstps  52(%%"REG_d")\n\t"
 
-"       flds   48(%%eax)\n\t"
-"       fsubs  76(%%eax)\n\t"
-"       fmuls  48(%%ebx)\n\t"
-"       fstps  76(%%edx)\n\t"
+"       flds   48(%%"REG_a")\n\t"
+"       fsubs  76(%%"REG_a")\n\t"
+"       fmuls  48(%%"REG_b")\n\t"
+"       fstps  76(%%"REG_d")\n\t"
 
-"       flds   52(%%eax)\n\t"
-"       fsubs  72(%%eax)\n\t"
-"       fmuls  52(%%ebx)\n\t"
-"       fstps  72(%%edx)\n\t"
+"       flds   52(%%"REG_a")\n\t"
+"       fsubs  72(%%"REG_a")\n\t"
+"       fmuls  52(%%"REG_b")\n\t"
+"       fstps  72(%%"REG_d")\n\t"
 
-"       flds   56(%%eax)\n\t"
-"       fadds  68(%%eax)\n\t"
-"       fstps  56(%%edx)\n\t"
+"       flds   56(%%"REG_a")\n\t"
+"       fadds  68(%%"REG_a")\n\t"
+"       fstps  56(%%"REG_d")\n\t"
 
-"       flds   60(%%eax)\n\t"
-"       fadds  64(%%eax)\n\t"
-"       fstps  60(%%edx)\n\t"
+"       flds   60(%%"REG_a")\n\t"
+"       fadds  64(%%"REG_a")\n\t"
+"       fstps  60(%%"REG_d")\n\t"
 
-"       flds   56(%%eax)\n\t"
-"       fsubs  68(%%eax)\n\t"
-"       fmuls  56(%%ebx)\n\t"
-"       fstps  68(%%edx)\n\t"
+"       flds   56(%%"REG_a")\n\t"
+"       fsubs  68(%%"REG_a")\n\t"
+"       fmuls  56(%%"REG_b")\n\t"
+"       fstps  68(%%"REG_d")\n\t"
 
-"       flds   60(%%eax)\n\t"
-"       fsubs  64(%%eax)\n\t"
-"       fmuls  60(%%ebx)\n\t"
-"       fstps  64(%%edx)\n\t"
+"       flds   60(%%"REG_a")\n\t"
+"       fsubs  64(%%"REG_a")\n\t"
+"       fmuls  60(%%"REG_b")\n\t"
+"       fstps  64(%%"REG_d")\n\t"
 
 /* Phase 2*/
 
-"       flds     (%%edx)\n\t"
-"       fadds  60(%%edx)\n\t"
-"       fstps    (%%ecx)\n\t"
+"       flds     (%%"REG_d")\n\t"
+"       fadds  60(%%"REG_d")\n\t"
+"       fstps    (%%"REG_c")\n\t"
 
-"       flds    4(%%edx)\n\t"
-"       fadds  56(%%edx)\n\t"
-"       fstps   4(%%ecx)\n\t"
+"       flds    4(%%"REG_d")\n\t"
+"       fadds  56(%%"REG_d")\n\t"
+"       fstps   4(%%"REG_c")\n\t"
 
-"       flds     (%%edx)\n\t"
-"       fsubs  60(%%edx)\n\t"
-"       fmuls  64(%%ebx)\n\t"
-"       fstps  60(%%ecx)\n\t"
+"       flds     (%%"REG_d")\n\t"
+"       fsubs  60(%%"REG_d")\n\t"
+"       fmuls  64(%%"REG_b")\n\t"
+"       fstps  60(%%"REG_c")\n\t"
 
-"       flds    4(%%edx)\n\t"
-"       fsubs  56(%%edx)\n\t"
-"       fmuls  68(%%ebx)\n\t"
-"       fstps  56(%%ecx)\n\t"
+"       flds    4(%%"REG_d")\n\t"
+"       fsubs  56(%%"REG_d")\n\t"
+"       fmuls  68(%%"REG_b")\n\t"
+"       fstps  56(%%"REG_c")\n\t"
 
-"       flds    8(%%edx)\n\t"
-"       fadds  52(%%edx)\n\t"
-"       fstps   8(%%ecx)\n\t"
+"       flds    8(%%"REG_d")\n\t"
+"       fadds  52(%%"REG_d")\n\t"
+"       fstps   8(%%"REG_c")\n\t"
 
-"       flds   12(%%edx)\n\t"
-"       fadds  48(%%edx)\n\t"
-"       fstps  12(%%ecx)\n\t"
+"       flds   12(%%"REG_d")\n\t"
+"       fadds  48(%%"REG_d")\n\t"
+"       fstps  12(%%"REG_c")\n\t"
 
-"       flds    8(%%edx)\n\t"
-"       fsubs  52(%%edx)\n\t"
-"       fmuls  72(%%ebx)\n\t"
-"       fstps  52(%%ecx)\n\t"
+"       flds    8(%%"REG_d")\n\t"
+"       fsubs  52(%%"REG_d")\n\t"
+"       fmuls  72(%%"REG_b")\n\t"
+"       fstps  52(%%"REG_c")\n\t"
 
-"       flds   12(%%edx)\n\t"
-"       fsubs  48(%%edx)\n\t"
-"       fmuls  76(%%ebx)\n\t"
-"       fstps  48(%%ecx)\n\t"
+"       flds   12(%%"REG_d")\n\t"
+"       fsubs  48(%%"REG_d")\n\t"
+"       fmuls  76(%%"REG_b")\n\t"
+"       fstps  48(%%"REG_c")\n\t"
 
-"       flds   16(%%edx)\n\t"
-"       fadds  44(%%edx)\n\t"
-"       fstps  16(%%ecx)\n\t"
+"       flds   16(%%"REG_d")\n\t"
+"       fadds  44(%%"REG_d")\n\t"
+"       fstps  16(%%"REG_c")\n\t"
 
-"       flds   20(%%edx)\n\t"
-"       fadds  40(%%edx)\n\t"
-"       fstps  20(%%ecx)\n\t"
+"       flds   20(%%"REG_d")\n\t"
+"       fadds  40(%%"REG_d")\n\t"
+"       fstps  20(%%"REG_c")\n\t"
 
-"       flds   16(%%edx)\n\t"
-"       fsubs  44(%%edx)\n\t"
-"       fmuls  80(%%ebx)\n\t"
-"       fstps  44(%%ecx)\n\t"
+"       flds   16(%%"REG_d")\n\t"
+"       fsubs  44(%%"REG_d")\n\t"
+"       fmuls  80(%%"REG_b")\n\t"
+"       fstps  44(%%"REG_c")\n\t"
 
-"       flds   20(%%edx)\n\t"
-"       fsubs  40(%%edx)\n\t"
-"       fmuls  84(%%ebx)\n\t"
-"       fstps  40(%%ecx)\n\t"
+"       flds   20(%%"REG_d")\n\t"
+"       fsubs  40(%%"REG_d")\n\t"
+"       fmuls  84(%%"REG_b")\n\t"
+"       fstps  40(%%"REG_c")\n\t"
 
-"       flds   24(%%edx)\n\t"
-"       fadds  36(%%edx)\n\t"
-"       fstps  24(%%ecx)\n\t"
+"       flds   24(%%"REG_d")\n\t"
+"       fadds  36(%%"REG_d")\n\t"
+"       fstps  24(%%"REG_c")\n\t"
 
-"       flds   28(%%edx)\n\t"
-"       fadds  32(%%edx)\n\t"
-"       fstps  28(%%ecx)\n\t"
+"       flds   28(%%"REG_d")\n\t"
+"       fadds  32(%%"REG_d")\n\t"
+"       fstps  28(%%"REG_c")\n\t"
 
-"       flds   24(%%edx)\n\t"
-"       fsubs  36(%%edx)\n\t"
-"       fmuls  88(%%ebx)\n\t"
-"       fstps  36(%%ecx)\n\t"
+"       flds   24(%%"REG_d")\n\t"
+"       fsubs  36(%%"REG_d")\n\t"
+"       fmuls  88(%%"REG_b")\n\t"
+"       fstps  36(%%"REG_c")\n\t"
 
-"       flds   28(%%edx)\n\t"
-"       fsubs  32(%%edx)\n\t"
-"       fmuls  92(%%ebx)\n\t"
-"       fstps  32(%%ecx)\n\t"
+"       flds   28(%%"REG_d")\n\t"
+"       fsubs  32(%%"REG_d")\n\t"
+"       fmuls  92(%%"REG_b")\n\t"
+"       fstps  32(%%"REG_c")\n\t"
 
 /* Phase 3*/
 
-"       flds   64(%%edx)\n\t"
-"       fadds 124(%%edx)\n\t"
-"       fstps  64(%%ecx)\n\t"
+"       flds   64(%%"REG_d")\n\t"
+"       fadds 124(%%"REG_d")\n\t"
+"       fstps  64(%%"REG_c")\n\t"
 
-"       flds   68(%%edx)\n\t"
-"       fadds 120(%%edx)\n\t"
-"       fstps  68(%%ecx)\n\t"
+"       flds   68(%%"REG_d")\n\t"
+"       fadds 120(%%"REG_d")\n\t"
+"       fstps  68(%%"REG_c")\n\t"
 
-"       flds  124(%%edx)\n\t"
-"       fsubs  64(%%edx)\n\t"
-"       fmuls  64(%%ebx)\n\t"
-"       fstps 124(%%ecx)\n\t"
+"       flds  124(%%"REG_d")\n\t"
+"       fsubs  64(%%"REG_d")\n\t"
+"       fmuls  64(%%"REG_b")\n\t"
+"       fstps 124(%%"REG_c")\n\t"
 
-"       flds  120(%%edx)\n\t"
-"       fsubs  68(%%edx)\n\t"
-"       fmuls  68(%%ebx)\n\t"
-"       fstps 120(%%ecx)\n\t"
+"       flds  120(%%"REG_d")\n\t"
+"       fsubs  68(%%"REG_d")\n\t"
+"       fmuls  68(%%"REG_b")\n\t"
+"       fstps 120(%%"REG_c")\n\t"
 
-"       flds   72(%%edx)\n\t"
-"       fadds 116(%%edx)\n\t"
-"       fstps  72(%%ecx)\n\t"
+"       flds   72(%%"REG_d")\n\t"
+"       fadds 116(%%"REG_d")\n\t"
+"       fstps  72(%%"REG_c")\n\t"
 
-"       flds   76(%%edx)\n\t"
-"       fadds 112(%%edx)\n\t"
-"       fstps  76(%%ecx)\n\t"
+"       flds   76(%%"REG_d")\n\t"
+"       fadds 112(%%"REG_d")\n\t"
+"       fstps  76(%%"REG_c")\n\t"
 
-"       flds  116(%%edx)\n\t"
-"       fsubs  72(%%edx)\n\t"
-"       fmuls  72(%%ebx)\n\t"
-"       fstps 116(%%ecx)\n\t"
+"       flds  116(%%"REG_d")\n\t"
+"       fsubs  72(%%"REG_d")\n\t"
+"       fmuls  72(%%"REG_b")\n\t"
+"       fstps 116(%%"REG_c")\n\t"
 
-"       flds  112(%%edx)\n\t"
-"       fsubs  76(%%edx)\n\t"
-"       fmuls  76(%%ebx)\n\t"
-"       fstps 112(%%ecx)\n\t"
+"       flds  112(%%"REG_d")\n\t"
+"       fsubs  76(%%"REG_d")\n\t"
+"       fmuls  76(%%"REG_b")\n\t"
+"       fstps 112(%%"REG_c")\n\t"
 
-"       flds   80(%%edx)\n\t"
-"       fadds 108(%%edx)\n\t"
-"       fstps  80(%%ecx)\n\t"
+"       flds   80(%%"REG_d")\n\t"
+"       fadds 108(%%"REG_d")\n\t"
+"       fstps  80(%%"REG_c")\n\t"
 
-"       flds   84(%%edx)\n\t"
-"       fadds 104(%%edx)\n\t"
-"       fstps  84(%%ecx)\n\t"
+"       flds   84(%%"REG_d")\n\t"
+"       fadds 104(%%"REG_d")\n\t"
+"       fstps  84(%%"REG_c")\n\t"
 
-"       flds  108(%%edx)\n\t"
-"       fsubs  80(%%edx)\n\t"
-"       fmuls  80(%%ebx)\n\t"
-"       fstps 108(%%ecx)\n\t"
+"       flds  108(%%"REG_d")\n\t"
+"       fsubs  80(%%"REG_d")\n\t"
+"       fmuls  80(%%"REG_b")\n\t"
+"       fstps 108(%%"REG_c")\n\t"
 
-"       flds  104(%%edx)\n\t"
-"       fsubs  84(%%edx)\n\t"
-"       fmuls  84(%%ebx)\n\t"
-"       fstps 104(%%ecx)\n\t"
+"       flds  104(%%"REG_d")\n\t"
+"       fsubs  84(%%"REG_d")\n\t"
+"       fmuls  84(%%"REG_b")\n\t"
+"       fstps 104(%%"REG_c")\n\t"
 
-"       flds   88(%%edx)\n\t"
-"       fadds 100(%%edx)\n\t"
-"       fstps  88(%%ecx)\n\t"
+"       flds   88(%%"REG_d")\n\t"
+"       fadds 100(%%"REG_d")\n\t"
+"       fstps  88(%%"REG_c")\n\t"
 
-"       flds   92(%%edx)\n\t"
-"       fadds  96(%%edx)\n\t"
-"       fstps  92(%%ecx)\n\t"
+"       flds   92(%%"REG_d")\n\t"
+"       fadds  96(%%"REG_d")\n\t"
+"       fstps  92(%%"REG_c")\n\t"
 
-"       flds  100(%%edx)\n\t"
-"       fsubs  88(%%edx)\n\t"
-"       fmuls  88(%%ebx)\n\t"
-"       fstps 100(%%ecx)\n\t"
+"       flds  100(%%"REG_d")\n\t"
+"       fsubs  88(%%"REG_d")\n\t"
+"       fmuls  88(%%"REG_b")\n\t"
+"       fstps 100(%%"REG_c")\n\t"
 
-"       flds   96(%%edx)\n\t"
-"       fsubs  92(%%edx)\n\t"
-"       fmuls  92(%%ebx)\n\t"
-"       fstps  96(%%ecx)\n\t"
+"       flds   96(%%"REG_d")\n\t"
+"       fsubs  92(%%"REG_d")\n\t"
+"       fmuls  92(%%"REG_b")\n\t"
+"       fstps  96(%%"REG_c")\n\t"
 
 /* Phase 4*/
 
-"       flds     (%%ecx)\n\t"
-"       fadds  28(%%ecx)\n\t"
-"       fstps    (%%edx)\n\t"
+"       flds     (%%"REG_c")\n\t"
+"       fadds  28(%%"REG_c")\n\t"
+"       fstps    (%%"REG_d")\n\t"
 
-"       flds     (%%ecx)\n\t"
-"       fsubs  28(%%ecx)\n\t"
-"       fmuls  96(%%ebx)\n\t"
-"       fstps  28(%%edx)\n\t"
+"       flds     (%%"REG_c")\n\t"
+"       fsubs  28(%%"REG_c")\n\t"
+"       fmuls  96(%%"REG_b")\n\t"
+"       fstps  28(%%"REG_d")\n\t"
 
-"       flds    4(%%ecx)\n\t"
-"       fadds  24(%%ecx)\n\t"
-"       fstps   4(%%edx)\n\t"
+"       flds    4(%%"REG_c")\n\t"
+"       fadds  24(%%"REG_c")\n\t"
+"       fstps   4(%%"REG_d")\n\t"
 
-"       flds    4(%%ecx)\n\t"
-"       fsubs  24(%%ecx)\n\t"
-"       fmuls 100(%%ebx)\n\t"
-"       fstps  24(%%edx)\n\t"
+"       flds    4(%%"REG_c")\n\t"
+"       fsubs  24(%%"REG_c")\n\t"
+"       fmuls 100(%%"REG_b")\n\t"
+"       fstps  24(%%"REG_d")\n\t"
 
-"       flds    8(%%ecx)\n\t"
-"       fadds  20(%%ecx)\n\t"
-"       fstps   8(%%edx)\n\t"
+"       flds    8(%%"REG_c")\n\t"
+"       fadds  20(%%"REG_c")\n\t"
+"       fstps   8(%%"REG_d")\n\t"
 
-"       flds    8(%%ecx)\n\t"
-"       fsubs  20(%%ecx)\n\t"
-"       fmuls 104(%%ebx)\n\t"
-"       fstps  20(%%edx)\n\t"
+"       flds    8(%%"REG_c")\n\t"
+"       fsubs  20(%%"REG_c")\n\t"
+"       fmuls 104(%%"REG_b")\n\t"
+"       fstps  20(%%"REG_d")\n\t"
 
-"       flds   12(%%ecx)\n\t"
-"       fadds  16(%%ecx)\n\t"
-"       fstps  12(%%edx)\n\t"
+"       flds   12(%%"REG_c")\n\t"
+"       fadds  16(%%"REG_c")\n\t"
+"       fstps  12(%%"REG_d")\n\t"
 
-"       flds   12(%%ecx)\n\t"
-"       fsubs  16(%%ecx)\n\t"
-"       fmuls 108(%%ebx)\n\t"
-"       fstps  16(%%edx)\n\t"
+"       flds   12(%%"REG_c")\n\t"
+"       fsubs  16(%%"REG_c")\n\t"
+"       fmuls 108(%%"REG_b")\n\t"
+"       fstps  16(%%"REG_d")\n\t"
 
-"       flds   32(%%ecx)\n\t"
-"       fadds  60(%%ecx)\n\t"
-"       fstps  32(%%edx)\n\t"
+"       flds   32(%%"REG_c")\n\t"
+"       fadds  60(%%"REG_c")\n\t"
+"       fstps  32(%%"REG_d")\n\t"
 
-"       flds   60(%%ecx)\n\t"
-"       fsubs  32(%%ecx)\n\t"
-"       fmuls  96(%%ebx)\n\t"
-"       fstps  60(%%edx)\n\t"
+"       flds   60(%%"REG_c")\n\t"
+"       fsubs  32(%%"REG_c")\n\t"
+"       fmuls  96(%%"REG_b")\n\t"
+"       fstps  60(%%"REG_d")\n\t"
 
-"       flds   36(%%ecx)\n\t"
-"       fadds  56(%%ecx)\n\t"
-"       fstps  36(%%edx)\n\t"
+"       flds   36(%%"REG_c")\n\t"
+"       fadds  56(%%"REG_c")\n\t"
+"       fstps  36(%%"REG_d")\n\t"
 
-"       flds   56(%%ecx)\n\t"
-"       fsubs  36(%%ecx)\n\t"
-"       fmuls 100(%%ebx)\n\t"
-"       fstps  56(%%edx)\n\t"
+"       flds   56(%%"REG_c")\n\t"
+"       fsubs  36(%%"REG_c")\n\t"
+"       fmuls 100(%%"REG_b")\n\t"
+"       fstps  56(%%"REG_d")\n\t"
 
-"       flds   40(%%ecx)\n\t"
-"       fadds  52(%%ecx)\n\t"
-"       fstps  40(%%edx)\n\t"
+"       flds   40(%%"REG_c")\n\t"
+"       fadds  52(%%"REG_c")\n\t"
+"       fstps  40(%%"REG_d")\n\t"
 
-"       flds   52(%%ecx)\n\t"
-"       fsubs  40(%%ecx)\n\t"
-"       fmuls 104(%%ebx)\n\t"
-"       fstps  52(%%edx)\n\t"
+"       flds   52(%%"REG_c")\n\t"
+"       fsubs  40(%%"REG_c")\n\t"
+"       fmuls 104(%%"REG_b")\n\t"
+"       fstps  52(%%"REG_d")\n\t"
 
-"       flds   44(%%ecx)\n\t"
-"       fadds  48(%%ecx)\n\t"
-"       fstps  44(%%edx)\n\t"
+"       flds   44(%%"REG_c")\n\t"
+"       fadds  48(%%"REG_c")\n\t"
+"       fstps  44(%%"REG_d")\n\t"
 
-"       flds   48(%%ecx)\n\t"
-"       fsubs  44(%%ecx)\n\t"
-"       fmuls 108(%%ebx)\n\t"
-"       fstps  48(%%edx)\n\t"
+"       flds   48(%%"REG_c")\n\t"
+"       fsubs  44(%%"REG_c")\n\t"
+"       fmuls 108(%%"REG_b")\n\t"
+"       fstps  48(%%"REG_d")\n\t"
 
-"       flds   64(%%ecx)\n\t"
-"       fadds  92(%%ecx)\n\t"
-"       fstps  64(%%edx)\n\t"
+"       flds   64(%%"REG_c")\n\t"
+"       fadds  92(%%"REG_c")\n\t"
+"       fstps  64(%%"REG_d")\n\t"
 
-"       flds   64(%%ecx)\n\t"
-"       fsubs  92(%%ecx)\n\t"
-"       fmuls  96(%%ebx)\n\t"
-"       fstps  92(%%edx)\n\t"
+"       flds   64(%%"REG_c")\n\t"
+"       fsubs  92(%%"REG_c")\n\t"
+"       fmuls  96(%%"REG_b")\n\t"
+"       fstps  92(%%"REG_d")\n\t"
 
-"       flds   68(%%ecx)\n\t"
-"       fadds  88(%%ecx)\n\t"
-"       fstps  68(%%edx)\n\t"
+"       flds   68(%%"REG_c")\n\t"
+"       fadds  88(%%"REG_c")\n\t"
+"       fstps  68(%%"REG_d")\n\t"
 
-"       flds   68(%%ecx)\n\t"
-"       fsubs  88(%%ecx)\n\t"
-"       fmuls 100(%%ebx)\n\t"
-"       fstps  88(%%edx)\n\t"
+"       flds   68(%%"REG_c")\n\t"
+"       fsubs  88(%%"REG_c")\n\t"
+"       fmuls 100(%%"REG_b")\n\t"
+"       fstps  88(%%"REG_d")\n\t"
 
-"       flds   72(%%ecx)\n\t"
-"       fadds  84(%%ecx)\n\t"
-"       fstps  72(%%edx)\n\t"
+"       flds   72(%%"REG_c")\n\t"
+"       fadds  84(%%"REG_c")\n\t"
+"       fstps  72(%%"REG_d")\n\t"
 
-"       flds   72(%%ecx)\n\t"
-"       fsubs  84(%%ecx)\n\t"
-"       fmuls 104(%%ebx)\n\t"
-"       fstps  84(%%edx)\n\t"
+"       flds   72(%%"REG_c")\n\t"
+"       fsubs  84(%%"REG_c")\n\t"
+"       fmuls 104(%%"REG_b")\n\t"
+"       fstps  84(%%"REG_d")\n\t"
 
-"       flds   76(%%ecx)\n\t"
-"       fadds  80(%%ecx)\n\t"
-"       fstps  76(%%edx)\n\t"
+"       flds   76(%%"REG_c")\n\t"
+"       fadds  80(%%"REG_c")\n\t"
+"       fstps  76(%%"REG_d")\n\t"
 
-"       flds   76(%%ecx)\n\t"
-"       fsubs  80(%%ecx)\n\t"
-"       fmuls 108(%%ebx)\n\t"
-"       fstps  80(%%edx)\n\t"
+"       flds   76(%%"REG_c")\n\t"
+"       fsubs  80(%%"REG_c")\n\t"
+"       fmuls 108(%%"REG_b")\n\t"
+"       fstps  80(%%"REG_d")\n\t"
 
-"       flds   96(%%ecx)\n\t"
-"       fadds 124(%%ecx)\n\t"
-"       fstps  96(%%edx)\n\t"
+"       flds   96(%%"REG_c")\n\t"
+"       fadds 124(%%"REG_c")\n\t"
+"       fstps  96(%%"REG_d")\n\t"
 
-"       flds  124(%%ecx)\n\t"
-"       fsubs  96(%%ecx)\n\t"
-"       fmuls  96(%%ebx)\n\t"
-"       fstps 124(%%edx)\n\t"
+"       flds  124(%%"REG_c")\n\t"
+"       fsubs  96(%%"REG_c")\n\t"
+"       fmuls  96(%%"REG_b")\n\t"
+"       fstps 124(%%"REG_d")\n\t"
 
-"       flds  100(%%ecx)\n\t"
-"       fadds 120(%%ecx)\n\t"
-"       fstps 100(%%edx)\n\t"
+"       flds  100(%%"REG_c")\n\t"
+"       fadds 120(%%"REG_c")\n\t"
+"       fstps 100(%%"REG_d")\n\t"
 
-"       flds  120(%%ecx)\n\t"
-"       fsubs 100(%%ecx)\n\t"
-"       fmuls 100(%%ebx)\n\t"
-"       fstps 120(%%edx)\n\t"
+"       flds  120(%%"REG_c")\n\t"
+"       fsubs 100(%%"REG_c")\n\t"
+"       fmuls 100(%%"REG_b")\n\t"
+"       fstps 120(%%"REG_d")\n\t"
 
-"       flds  104(%%ecx)\n\t"
-"       fadds 116(%%ecx)\n\t"
-"       fstps 104(%%edx)\n\t"
+"       flds  104(%%"REG_c")\n\t"
+"       fadds 116(%%"REG_c")\n\t"
+"       fstps 104(%%"REG_d")\n\t"
 
-"       flds  116(%%ecx)\n\t"
-"       fsubs 104(%%ecx)\n\t"
-"       fmuls 104(%%ebx)\n\t"
-"       fstps 116(%%edx)\n\t"
+"       flds  116(%%"REG_c")\n\t"
+"       fsubs 104(%%"REG_c")\n\t"
+"       fmuls 104(%%"REG_b")\n\t"
+"       fstps 116(%%"REG_d")\n\t"
 
-"       flds  108(%%ecx)\n\t"
-"       fadds 112(%%ecx)\n\t"
-"       fstps 108(%%edx)\n\t"
+"       flds  108(%%"REG_c")\n\t"
+"       fadds 112(%%"REG_c")\n\t"
+"       fstps 108(%%"REG_d")\n\t"
 
-"       flds  112(%%ecx)\n\t"
-"       fsubs 108(%%ecx)\n\t"
-"       fmuls 108(%%ebx)\n\t"
-"       fstps 112(%%edx)\n\t"
+"       flds  112(%%"REG_c")\n\t"
+"       fsubs 108(%%"REG_c")\n\t"
+"       fmuls 108(%%"REG_b")\n\t"
+"       fstps 112(%%"REG_d")\n\t"
 
-"       flds     (%%edx)\n\t"
-"       fadds  12(%%edx)\n\t"
-"       fstps    (%%ecx)\n\t"
+"       flds     (%%"REG_d")\n\t"
+"       fadds  12(%%"REG_d")\n\t"
+"       fstps    (%%"REG_c")\n\t"
 
-"       flds     (%%edx)\n\t"
-"       fsubs  12(%%edx)\n\t"
-"       fmuls 112(%%ebx)\n\t"
-"       fstps  12(%%ecx)\n\t"
+"       flds     (%%"REG_d")\n\t"
+"       fsubs  12(%%"REG_d")\n\t"
+"       fmuls 112(%%"REG_b")\n\t"
+"       fstps  12(%%"REG_c")\n\t"
 
-"       flds    4(%%edx)\n\t"
-"       fadds   8(%%edx)\n\t"
-"       fstps   4(%%ecx)\n\t"
+"       flds    4(%%"REG_d")\n\t"
+"       fadds   8(%%"REG_d")\n\t"
+"       fstps   4(%%"REG_c")\n\t"
 
-"       flds    4(%%edx)\n\t"
-"       fsubs   8(%%edx)\n\t"
-"       fmuls 116(%%ebx)\n\t"
-"       fstps   8(%%ecx)\n\t"
+"       flds    4(%%"REG_d")\n\t"
+"       fsubs   8(%%"REG_d")\n\t"
+"       fmuls 116(%%"REG_b")\n\t"
+"       fstps   8(%%"REG_c")\n\t"
 
-"       flds   16(%%edx)\n\t"
-"       fadds  28(%%edx)\n\t"
-"       fstps  16(%%ecx)\n\t"
+"       flds   16(%%"REG_d")\n\t"
+"       fadds  28(%%"REG_d")\n\t"
+"       fstps  16(%%"REG_c")\n\t"
 
-"       flds   28(%%edx)\n\t"
-"       fsubs  16(%%edx)\n\t"
-"       fmuls 112(%%ebx)\n\t"
-"       fstps  28(%%ecx)\n\t"
+"       flds   28(%%"REG_d")\n\t"
+"       fsubs  16(%%"REG_d")\n\t"
+"       fmuls 112(%%"REG_b")\n\t"
+"       fstps  28(%%"REG_c")\n\t"
 
-"       flds   20(%%edx)\n\t"
-"       fadds  24(%%edx)\n\t"
-"       fstps  20(%%ecx)\n\t"
+"       flds   20(%%"REG_d")\n\t"
+"       fadds  24(%%"REG_d")\n\t"
+"       fstps  20(%%"REG_c")\n\t"
 
-"       flds   24(%%edx)\n\t"
-"       fsubs  20(%%edx)\n\t"
-"       fmuls 116(%%ebx)\n\t"
-"       fstps  24(%%ecx)\n\t"
+"       flds   24(%%"REG_d")\n\t"
+"       fsubs  20(%%"REG_d")\n\t"
+"       fmuls 116(%%"REG_b")\n\t"
+"       fstps  24(%%"REG_c")\n\t"
 
-"       flds   32(%%edx)\n\t"
-"       fadds  44(%%edx)\n\t"
-"       fstps  32(%%ecx)\n\t"
+"       flds   32(%%"REG_d")\n\t"
+"       fadds  44(%%"REG_d")\n\t"
+"       fstps  32(%%"REG_c")\n\t"
 
-"       flds   32(%%edx)\n\t"
-"       fsubs  44(%%edx)\n\t"
-"       fmuls 112(%%ebx)\n\t"
-"       fstps  44(%%ecx)\n\t"
+"       flds   32(%%"REG_d")\n\t"
+"       fsubs  44(%%"REG_d")\n\t"
+"       fmuls 112(%%"REG_b")\n\t"
+"       fstps  44(%%"REG_c")\n\t"
 
-"       flds   36(%%edx)\n\t"
-"       fadds  40(%%edx)\n\t"
-"       fstps  36(%%ecx)\n\t"
+"       flds   36(%%"REG_d")\n\t"
+"       fadds  40(%%"REG_d")\n\t"
+"       fstps  36(%%"REG_c")\n\t"
 
-"       flds   36(%%edx)\n\t"
-"       fsubs  40(%%edx)\n\t"
-"       fmuls 116(%%ebx)\n\t"
-"       fstps  40(%%ecx)\n\t"
+"       flds   36(%%"REG_d")\n\t"
+"       fsubs  40(%%"REG_d")\n\t"
+"       fmuls 116(%%"REG_b")\n\t"
+"       fstps  40(%%"REG_c")\n\t"
 
-"       flds   48(%%edx)\n\t"
-"       fadds  60(%%edx)\n\t"
-"       fstps  48(%%ecx)\n\t"
+"       flds   48(%%"REG_d")\n\t"
+"       fadds  60(%%"REG_d")\n\t"
+"       fstps  48(%%"REG_c")\n\t"
 
-"       flds   60(%%edx)\n\t"
-"       fsubs  48(%%edx)\n\t"
-"       fmuls 112(%%ebx)\n\t"
-"       fstps  60(%%ecx)\n\t"
+"       flds   60(%%"REG_d")\n\t"
+"       fsubs  48(%%"REG_d")\n\t"
+"       fmuls 112(%%"REG_b")\n\t"
+"       fstps  60(%%"REG_c")\n\t"
 
-"       flds   52(%%edx)\n\t"
-"       fadds  56(%%edx)\n\t"
-"       fstps  52(%%ecx)\n\t"
+"       flds   52(%%"REG_d")\n\t"
+"       fadds  56(%%"REG_d")\n\t"
+"       fstps  52(%%"REG_c")\n\t"
 
-"       flds   56(%%edx)\n\t"
-"       fsubs  52(%%edx)\n\t"
-"       fmuls 116(%%ebx)\n\t"
-"       fstps  56(%%ecx)\n\t"
+"       flds   56(%%"REG_d")\n\t"
+"       fsubs  52(%%"REG_d")\n\t"
+"       fmuls 116(%%"REG_b")\n\t"
+"       fstps  56(%%"REG_c")\n\t"
 
-"       flds   64(%%edx)\n\t"
-"       fadds  76(%%edx)\n\t"
-"       fstps  64(%%ecx)\n\t"
+"       flds   64(%%"REG_d")\n\t"
+"       fadds  76(%%"REG_d")\n\t"
+"       fstps  64(%%"REG_c")\n\t"
 
-"       flds   64(%%edx)\n\t"
-"       fsubs  76(%%edx)\n\t"
-"       fmuls 112(%%ebx)\n\t"
-"       fstps  76(%%ecx)\n\t"
+"       flds   64(%%"REG_d")\n\t"
+"       fsubs  76(%%"REG_d")\n\t"
+"       fmuls 112(%%"REG_b")\n\t"
+"       fstps  76(%%"REG_c")\n\t"
 
-"       flds   68(%%edx)\n\t"
-"       fadds  72(%%edx)\n\t"
-"       fstps  68(%%ecx)\n\t"
+"       flds   68(%%"REG_d")\n\t"
+"       fadds  72(%%"REG_d")\n\t"
+"       fstps  68(%%"REG_c")\n\t"
 
-"       flds   68(%%edx)\n\t"
-"       fsubs  72(%%edx)\n\t"
-"       fmuls 116(%%ebx)\n\t"
-"       fstps  72(%%ecx)\n\t"
+"       flds   68(%%"REG_d")\n\t"
+"       fsubs  72(%%"REG_d")\n\t"
+"       fmuls 116(%%"REG_b")\n\t"
+"       fstps  72(%%"REG_c")\n\t"
 
-"       flds   80(%%edx)\n\t"
-"       fadds  92(%%edx)\n\t"
-"       fstps  80(%%ecx)\n\t"
+"       flds   80(%%"REG_d")\n\t"
+"       fadds  92(%%"REG_d")\n\t"
+"       fstps  80(%%"REG_c")\n\t"
 
-"       flds   92(%%edx)\n\t"
-"       fsubs  80(%%edx)\n\t"
-"       fmuls 112(%%ebx)\n\t"
-"       fstps  92(%%ecx)\n\t"
+"       flds   92(%%"REG_d")\n\t"
+"       fsubs  80(%%"REG_d")\n\t"
+"       fmuls 112(%%"REG_b")\n\t"
+"       fstps  92(%%"REG_c")\n\t"
 
-"       flds   84(%%edx)\n\t"
-"       fadds  88(%%edx)\n\t"
-"       fstps  84(%%ecx)\n\t"
+"       flds   84(%%"REG_d")\n\t"
+"       fadds  88(%%"REG_d")\n\t"
+"       fstps  84(%%"REG_c")\n\t"
 
-"       flds   88(%%edx)\n\t"
-"       fsubs  84(%%edx)\n\t"
-"       fmuls 116(%%ebx)\n\t"
-"       fstps  88(%%ecx)\n\t"
+"       flds   88(%%"REG_d")\n\t"
+"       fsubs  84(%%"REG_d")\n\t"
+"       fmuls 116(%%"REG_b")\n\t"
+"       fstps  88(%%"REG_c")\n\t"
 
-"       flds   96(%%edx)\n\t"
-"       fadds 108(%%edx)\n\t"
-"       fstps  96(%%ecx)\n\t"
+"       flds   96(%%"REG_d")\n\t"
+"       fadds 108(%%"REG_d")\n\t"
+"       fstps  96(%%"REG_c")\n\t"
 
-"       flds   96(%%edx)\n\t"
-"       fsubs 108(%%edx)\n\t"
-"       fmuls 112(%%ebx)\n\t"
-"       fstps 108(%%ecx)\n\t"
+"       flds   96(%%"REG_d")\n\t"
+"       fsubs 108(%%"REG_d")\n\t"
+"       fmuls 112(%%"REG_b")\n\t"
+"       fstps 108(%%"REG_c")\n\t"
 
-"       flds  100(%%edx)\n\t"
-"       fadds 104(%%edx)\n\t"
-"       fstps 100(%%ecx)\n\t"
+"       flds  100(%%"REG_d")\n\t"
+"       fadds 104(%%"REG_d")\n\t"
+"       fstps 100(%%"REG_c")\n\t"
 
-"       flds  100(%%edx)\n\t"
-"       fsubs 104(%%edx)\n\t"
-"       fmuls 116(%%ebx)\n\t"
-"       fstps 104(%%ecx)\n\t"
+"       flds  100(%%"REG_d")\n\t"
+"       fsubs 104(%%"REG_d")\n\t"
+"       fmuls 116(%%"REG_b")\n\t"
+"       fstps 104(%%"REG_c")\n\t"
 
-"       flds  112(%%edx)\n\t"
-"       fadds 124(%%edx)\n\t"
-"       fstps 112(%%ecx)\n\t"
+"       flds  112(%%"REG_d")\n\t"
+"       fadds 124(%%"REG_d")\n\t"
+"       fstps 112(%%"REG_c")\n\t"
 
-"       flds  124(%%edx)\n\t"
-"       fsubs 112(%%edx)\n\t"
-"       fmuls 112(%%ebx)\n\t"
-"       fstps 124(%%ecx)\n\t"
+"       flds  124(%%"REG_d")\n\t"
+"       fsubs 112(%%"REG_d")\n\t"
+"       fmuls 112(%%"REG_b")\n\t"
+"       fstps 124(%%"REG_c")\n\t"
 
-"       flds  116(%%edx)\n\t"
-"       fadds 120(%%edx)\n\t"
-"       fstps 116(%%ecx)\n\t"
+"       flds  116(%%"REG_d")\n\t"
+"       fadds 120(%%"REG_d")\n\t"
+"       fstps 116(%%"REG_c")\n\t"
 
-"       flds  120(%%edx)\n\t"
-"       fsubs 116(%%edx)\n\t"
-"       fmuls 116(%%ebx)\n\t"
-"       fstps 120(%%ecx)\n\t"
+"       flds  120(%%"REG_d")\n\t"
+"       fsubs 116(%%"REG_d")\n\t"
+"       fmuls 116(%%"REG_b")\n\t"
+"       fstps 120(%%"REG_c")\n\t"
 
 /* Phase 5*/
 
-"       flds   32(%%ecx)\n\t"
-"       fadds  36(%%ecx)\n\t"
-"       fstps  32(%%edx)\n\t"
+"       flds   32(%%"REG_c")\n\t"
+"       fadds  36(%%"REG_c")\n\t"
+"       fstps  32(%%"REG_d")\n\t"
 
-"       flds   32(%%ecx)\n\t"
-"       fsubs  36(%%ecx)\n\t"
-"       fmuls 120(%%ebx)\n\t"
-"       fstps  36(%%edx)\n\t"
+"       flds   32(%%"REG_c")\n\t"
+"       fsubs  36(%%"REG_c")\n\t"
+"       fmuls 120(%%"REG_b")\n\t"
+"       fstps  36(%%"REG_d")\n\t"
 
-"       flds   44(%%ecx)\n\t"
-"       fsubs  40(%%ecx)\n\t"
-"       fmuls 120(%%ebx)\n\t"
-"       fsts   44(%%edx)\n\t"
-"       fadds  40(%%ecx)\n\t"
-"       fadds  44(%%ecx)\n\t"
-"       fstps  40(%%edx)\n\t"
+"       flds   44(%%"REG_c")\n\t"
+"       fsubs  40(%%"REG_c")\n\t"
+"       fmuls 120(%%"REG_b")\n\t"
+"       fsts   44(%%"REG_d")\n\t"
+"       fadds  40(%%"REG_c")\n\t"
+"       fadds  44(%%"REG_c")\n\t"
+"       fstps  40(%%"REG_d")\n\t"
 
-"       flds   48(%%ecx)\n\t"
-"       fsubs  52(%%ecx)\n\t"
-"       fmuls 120(%%ebx)\n\t"
+"       flds   48(%%"REG_c")\n\t"
+"       fsubs  52(%%"REG_c")\n\t"
+"       fmuls 120(%%"REG_b")\n\t"
 
-"       flds   60(%%ecx)\n\t"
-"       fsubs  56(%%ecx)\n\t"
-"       fmuls 120(%%ebx)\n\t"
+"       flds   60(%%"REG_c")\n\t"
+"       fsubs  56(%%"REG_c")\n\t"
+"       fmuls 120(%%"REG_b")\n\t"
 "       fld      %%st(0)\n\t"
-"       fadds  56(%%ecx)\n\t"
-"       fadds  60(%%ecx)\n\t"
+"       fadds  56(%%"REG_c")\n\t"
+"       fadds  60(%%"REG_c")\n\t"
 "       fld      %%st(0)\n\t"
-"       fadds  48(%%ecx)\n\t"
-"       fadds  52(%%ecx)\n\t"
-"       fstps  48(%%edx)\n\t"
+"       fadds  48(%%"REG_c")\n\t"
+"       fadds  52(%%"REG_c")\n\t"
+"       fstps  48(%%"REG_d")\n\t"
 "       fadd     %%st(2)\n\t"
-"       fstps  56(%%edx)\n\t"
-"       fsts   60(%%edx)\n\t"
+"       fstps  56(%%"REG_d")\n\t"
+"       fsts   60(%%"REG_d")\n\t"
 "       faddp    %%st(1)\n\t"
-"       fstps  52(%%edx)\n\t"
+"       fstps  52(%%"REG_d")\n\t"
 
-"       flds   64(%%ecx)\n\t"
-"       fadds  68(%%ecx)\n\t"
-"       fstps  64(%%edx)\n\t"
+"       flds   64(%%"REG_c")\n\t"
+"       fadds  68(%%"REG_c")\n\t"
+"       fstps  64(%%"REG_d")\n\t"
 
-"       flds   64(%%ecx)\n\t"
-"       fsubs  68(%%ecx)\n\t"
-"       fmuls 120(%%ebx)\n\t"
-"       fstps  68(%%edx)\n\t"
+"       flds   64(%%"REG_c")\n\t"
+"       fsubs  68(%%"REG_c")\n\t"
+"       fmuls 120(%%"REG_b")\n\t"
+"       fstps  68(%%"REG_d")\n\t"
 
-"       flds   76(%%ecx)\n\t"
-"       fsubs  72(%%ecx)\n\t"
-"       fmuls 120(%%ebx)\n\t"
-"       fsts   76(%%edx)\n\t"
-"       fadds  72(%%ecx)\n\t"
-"       fadds  76(%%ecx)\n\t"
-"       fstps  72(%%edx)\n\t"
+"       flds   76(%%"REG_c")\n\t"
+"       fsubs  72(%%"REG_c")\n\t"
+"       fmuls 120(%%"REG_b")\n\t"
+"       fsts   76(%%"REG_d")\n\t"
+"       fadds  72(%%"REG_c")\n\t"
+"       fadds  76(%%"REG_c")\n\t"
+"       fstps  72(%%"REG_d")\n\t"
 
-"       flds   92(%%ecx)\n\t"
-"       fsubs  88(%%ecx)\n\t"
-"       fmuls 120(%%ebx)\n\t"
-"       fsts   92(%%edx)\n\t"
-"       fadds  92(%%ecx)\n\t"
-"       fadds  88(%%ecx)\n\t"
+"       flds   92(%%"REG_c")\n\t"
+"       fsubs  88(%%"REG_c")\n\t"
+"       fmuls 120(%%"REG_b")\n\t"
+"       fsts   92(%%"REG_d")\n\t"
+"       fadds  92(%%"REG_c")\n\t"
+"       fadds  88(%%"REG_c")\n\t"
 "       fld      %%st(0)\n\t"
-"       fadds  80(%%ecx)\n\t"
-"       fadds  84(%%ecx)\n\t"
-"       fstps  80(%%edx)\n\t"
+"       fadds  80(%%"REG_c")\n\t"
+"       fadds  84(%%"REG_c")\n\t"
+"       fstps  80(%%"REG_d")\n\t"
 
-"       flds   80(%%ecx)\n\t"
-"       fsubs  84(%%ecx)\n\t"
-"       fmuls 120(%%ebx)\n\t"
+"       flds   80(%%"REG_c")\n\t"
+"       fsubs  84(%%"REG_c")\n\t"
+"       fmuls 120(%%"REG_b")\n\t"
 "       fadd  %%st(0), %%st(1)\n\t"
-"       fadds 92(%%edx)\n\t"
-"       fstps 84(%%edx)\n\t"
-"       fstps 88(%%edx)\n\t"
+"       fadds 92(%%"REG_d")\n\t"
+"       fstps 84(%%"REG_d")\n\t"
+"       fstps 88(%%"REG_d")\n\t"
 
-"       flds   96(%%ecx)\n\t"
-"       fadds 100(%%ecx)\n\t"
-"       fstps  96(%%edx)\n\t"
+"       flds   96(%%"REG_c")\n\t"
+"       fadds 100(%%"REG_c")\n\t"
+"       fstps  96(%%"REG_d")\n\t"
 
-"       flds   96(%%ecx)\n\t"
-"       fsubs 100(%%ecx)\n\t"
-"       fmuls 120(%%ebx)\n\t"
-"       fstps 100(%%edx)\n\t"
+"       flds   96(%%"REG_c")\n\t"
+"       fsubs 100(%%"REG_c")\n\t"
+"       fmuls 120(%%"REG_b")\n\t"
+"       fstps 100(%%"REG_d")\n\t"
 
-"       flds  108(%%ecx)\n\t"
-"       fsubs 104(%%ecx)\n\t"
-"       fmuls 120(%%ebx)\n\t"
-"       fsts  108(%%edx)\n\t"
-"       fadds 104(%%ecx)\n\t"
-"       fadds 108(%%ecx)\n\t"
-"       fstps 104(%%edx)\n\t"
+"       flds  108(%%"REG_c")\n\t"
+"       fsubs 104(%%"REG_c")\n\t"
+"       fmuls 120(%%"REG_b")\n\t"
+"       fsts  108(%%"REG_d")\n\t"
+"       fadds 104(%%"REG_c")\n\t"
+"       fadds 108(%%"REG_c")\n\t"
+"       fstps 104(%%"REG_d")\n\t"
 
-"       flds  124(%%ecx)\n\t"
-"       fsubs 120(%%ecx)\n\t"
-"       fmuls 120(%%ebx)\n\t"
-"       fsts  124(%%edx)\n\t"
-"       fadds 120(%%ecx)\n\t"
-"       fadds 124(%%ecx)\n\t"
+"       flds  124(%%"REG_c")\n\t"
+"       fsubs 120(%%"REG_c")\n\t"
+"       fmuls 120(%%"REG_b")\n\t"
+"       fsts  124(%%"REG_d")\n\t"
+"       fadds 120(%%"REG_c")\n\t"
+"       fadds 124(%%"REG_c")\n\t"
 "       fld      %%st(0)\n\t"
-"       fadds 112(%%ecx)\n\t"
-"       fadds 116(%%ecx)\n\t"
-"       fstps 112(%%edx)\n\t"
+"       fadds 112(%%"REG_c")\n\t"
+"       fadds 116(%%"REG_c")\n\t"
+"       fstps 112(%%"REG_d")\n\t"
 
-"       flds  112(%%ecx)\n\t"
-"       fsubs 116(%%ecx)\n\t"
-"       fmuls 120(%%ebx)\n\t"
+"       flds  112(%%"REG_c")\n\t"
+"       fsubs 116(%%"REG_c")\n\t"
+"       fmuls 120(%%"REG_b")\n\t"
 "       fadd  %%st(0),%%st(1)\n\t"
-"       fadds 124(%%edx)\n\t"
-"       fstps 116(%%edx)\n\t"
-"       fstps 120(%%edx)\n\t"
+"       fadds 124(%%"REG_d")\n\t"
+"       fstps 116(%%"REG_d")\n\t"
+"       fstps 120(%%"REG_d")\n\t"
 "       jnz .L01\n\t"
 
 /* Phase 6*/
 
-"       flds      (%%ecx)\n\t"
-"       fadds    4(%%ecx)\n\t"
-"       fstps 1024(%%esi)\n\t"
+"       flds      (%%"REG_c")\n\t"
+"       fadds    4(%%"REG_c")\n\t"
+"       fstps 1024(%%"REG_S")\n\t"
 
-"       flds      (%%ecx)\n\t"
-"       fsubs    4(%%ecx)\n\t"
-"       fmuls  120(%%ebx)\n\t"
-"       fsts      (%%esi)\n\t"
-"       fstps     (%%edi)\n\t"
+"       flds      (%%"REG_c")\n\t"
+"       fsubs    4(%%"REG_c")\n\t"
+"       fmuls  120(%%"REG_b")\n\t"
+"       fsts      (%%"REG_S")\n\t"
+"       fstps     (%%"REG_D")\n\t"
 
-"       flds   12(%%ecx)\n\t"
-"       fsubs   8(%%ecx)\n\t"
-"       fmuls 120(%%ebx)\n\t"
-"       fsts  512(%%edi)\n\t"
-"       fadds  12(%%ecx)\n\t"
-"       fadds   8(%%ecx)\n\t"
-"       fstps 512(%%esi)\n\t"
+"       flds   12(%%"REG_c")\n\t"
+"       fsubs   8(%%"REG_c")\n\t"
+"       fmuls 120(%%"REG_b")\n\t"
+"       fsts  512(%%"REG_D")\n\t"
+"       fadds  12(%%"REG_c")\n\t"
+"       fadds   8(%%"REG_c")\n\t"
+"       fstps 512(%%"REG_S")\n\t"
 
-"       flds   16(%%ecx)\n\t"
-"       fsubs  20(%%ecx)\n\t"
-"       fmuls 120(%%ebx)\n\t"
+"       flds   16(%%"REG_c")\n\t"
+"       fsubs  20(%%"REG_c")\n\t"
+"       fmuls 120(%%"REG_b")\n\t"
 
-"       flds   28(%%ecx)\n\t"
-"       fsubs  24(%%ecx)\n\t"
-"       fmuls 120(%%ebx)\n\t"
-"       fsts  768(%%edi)\n\t"
+"       flds   28(%%"REG_c")\n\t"
+"       fsubs  24(%%"REG_c")\n\t"
+"       fmuls 120(%%"REG_b")\n\t"
+"       fsts  768(%%"REG_D")\n\t"
 "       fld      %%st(0)\n\t"
-"       fadds  24(%%ecx)\n\t"
-"       fadds  28(%%ecx)\n\t"
+"       fadds  24(%%"REG_c")\n\t"
+"       fadds  28(%%"REG_c")\n\t"
 "       fld      %%st(0)\n\t"
-"       fadds  16(%%ecx)\n\t"
-"       fadds  20(%%ecx)\n\t"
-"       fstps 768(%%esi)\n\t"
+"       fadds  16(%%"REG_c")\n\t"
+"       fadds  20(%%"REG_c")\n\t"
+"       fstps 768(%%"REG_S")\n\t"
 "       fadd     %%st(2)\n\t"
-"       fstps 256(%%esi)\n\t"
+"       fstps 256(%%"REG_S")\n\t"
 "       faddp    %%st(1)\n\t"
-"       fstps 256(%%edi)\n\t"
+"       fstps 256(%%"REG_D")\n\t"
 
 /* Phase 7*/
 
-"       flds   32(%%edx)\n\t"
-"       fadds  48(%%edx)\n\t"
-"       fstps 896(%%esi)\n\t"
+"       flds   32(%%"REG_d")\n\t"
+"       fadds  48(%%"REG_d")\n\t"
+"       fstps 896(%%"REG_S")\n\t"
 
-"       flds   48(%%edx)\n\t"
-"       fadds  40(%%edx)\n\t"
-"       fstps 640(%%esi)\n\t"
+"       flds   48(%%"REG_d")\n\t"
+"       fadds  40(%%"REG_d")\n\t"
+"       fstps 640(%%"REG_S")\n\t"
 
-"       flds   40(%%edx)\n\t"
-"       fadds  56(%%edx)\n\t"
-"       fstps 384(%%esi)\n\t"
+"       flds   40(%%"REG_d")\n\t"
+"       fadds  56(%%"REG_d")\n\t"
+"       fstps 384(%%"REG_S")\n\t"
 
-"       flds   56(%%edx)\n\t"
-"       fadds  36(%%edx)\n\t"
-"       fstps 128(%%esi)\n\t"
+"       flds   56(%%"REG_d")\n\t"
+"       fadds  36(%%"REG_d")\n\t"
+"       fstps 128(%%"REG_S")\n\t"
 
-"       flds   36(%%edx)\n\t"
-"       fadds  52(%%edx)\n\t"
-"       fstps 128(%%edi)\n\t"
+"       flds   36(%%"REG_d")\n\t"
+"       fadds  52(%%"REG_d")\n\t"
+"       fstps 128(%%"REG_D")\n\t"
 
-"       flds   52(%%edx)\n\t"
-"       fadds  44(%%edx)\n\t"
-"       fstps 384(%%edi)\n\t"
+"       flds   52(%%"REG_d")\n\t"
+"       fadds  44(%%"REG_d")\n\t"
+"       fstps 384(%%"REG_D")\n\t"
 
-"       flds   60(%%edx)\n\t"
-"       fsts  896(%%edi)\n\t"
-"       fadds  44(%%edx)\n\t"
-"       fstps 640(%%edi)\n\t"
+"       flds   60(%%"REG_d")\n\t"
+"       fsts  896(%%"REG_D")\n\t"
+"       fadds  44(%%"REG_d")\n\t"
+"       fstps 640(%%"REG_D")\n\t"
 
-"       flds   96(%%edx)\n\t"
-"       fadds 112(%%edx)\n\t"
+"       flds   96(%%"REG_d")\n\t"
+"       fadds 112(%%"REG_d")\n\t"
 "       fld      %%st(0)\n\t"
-"       fadds  64(%%edx)\n\t"
-"       fstps 960(%%esi)\n\t"
-"       fadds  80(%%edx)\n\t"
-"       fstps 832(%%esi)\n\t"
+"       fadds  64(%%"REG_d")\n\t"
+"       fstps 960(%%"REG_S")\n\t"
+"       fadds  80(%%"REG_d")\n\t"
+"       fstps 832(%%"REG_S")\n\t"
 
-"       flds  112(%%edx)\n\t"
-"       fadds 104(%%edx)\n\t"
+"       flds  112(%%"REG_d")\n\t"
+"       fadds 104(%%"REG_d")\n\t"
 "       fld      %%st(0)\n\t"
-"       fadds  80(%%edx)\n\t"
-"       fstps 704(%%esi)\n\t"
-"       fadds  72(%%edx)\n\t"
-"       fstps 576(%%esi)\n\t"
+"       fadds  80(%%"REG_d")\n\t"
+"       fstps 704(%%"REG_S")\n\t"
+"       fadds  72(%%"REG_d")\n\t"
+"       fstps 576(%%"REG_S")\n\t"
 
-"       flds  104(%%edx)\n\t"
-"       fadds 120(%%edx)\n\t"
+"       flds  104(%%"REG_d")\n\t"
+"       fadds 120(%%"REG_d")\n\t"
 "       fld      %%st(0)\n\t"
-"       fadds  72(%%edx)\n\t"
-"       fstps 448(%%esi)\n\t"
-"       fadds  88(%%edx)\n\t"
-"       fstps 320(%%esi)\n\t"
+"       fadds  72(%%"REG_d")\n\t"
+"       fstps 448(%%"REG_S")\n\t"
+"       fadds  88(%%"REG_d")\n\t"
+"       fstps 320(%%"REG_S")\n\t"
 
-"       flds  120(%%edx)\n\t"
-"       fadds 100(%%edx)\n\t"
+"       flds  120(%%"REG_d")\n\t"
+"       fadds 100(%%"REG_d")\n\t"
 "       fld      %%st(0)\n\t"
-"       fadds  88(%%edx)\n\t"
-"       fstps 192(%%esi)\n\t"
-"       fadds  68(%%edx)\n\t"
-"       fstps  64(%%esi)\n\t"
+"       fadds  88(%%"REG_d")\n\t"
+"       fstps 192(%%"REG_S")\n\t"
+"       fadds  68(%%"REG_d")\n\t"
+"       fstps  64(%%"REG_S")\n\t"
 
-"       flds  100(%%edx)\n\t"
-"       fadds 116(%%edx)\n\t"
+"       flds  100(%%"REG_d")\n\t"
+"       fadds 116(%%"REG_d")\n\t"
 "       fld      %%st(0)\n\t"
-"       fadds  68(%%edx)\n\t"
-"       fstps  64(%%edi)\n\t"
-"       fadds  84(%%edx)\n\t"
-"       fstps 192(%%edi)\n\t"
+"       fadds  68(%%"REG_d")\n\t"
+"       fstps  64(%%"REG_D")\n\t"
+"       fadds  84(%%"REG_d")\n\t"
+"       fstps 192(%%"REG_D")\n\t"
 
-"       flds  116(%%edx)\n\t"
-"       fadds 108(%%edx)\n\t"
+"       flds  116(%%"REG_d")\n\t"
+"       fadds 108(%%"REG_d")\n\t"
 "       fld      %%st(0)\n\t"
-"       fadds  84(%%edx)\n\t"
-"       fstps 320(%%edi)\n\t"
-"       fadds  76(%%edx)\n\t"
-"       fstps 448(%%edi)\n\t"
+"       fadds  84(%%"REG_d")\n\t"
+"       fstps 320(%%"REG_D")\n\t"
+"       fadds  76(%%"REG_d")\n\t"
+"       fstps 448(%%"REG_D")\n\t"
 
-"       flds  108(%%edx)\n\t"
-"       fadds 124(%%edx)\n\t"
+"       flds  108(%%"REG_d")\n\t"
+"       fadds 124(%%"REG_d")\n\t"
 "       fld      %%st(0)\n\t"
-"       fadds  76(%%edx)\n\t"
-"       fstps 576(%%edi)\n\t"
-"       fadds  92(%%edx)\n\t"
-"       fstps 704(%%edi)\n\t"
+"       fadds  76(%%"REG_d")\n\t"
+"       fstps 576(%%"REG_D")\n\t"
+"       fadds  92(%%"REG_d")\n\t"
+"       fstps 704(%%"REG_D")\n\t"
 
-"       flds  124(%%edx)\n\t"
-"       fsts  960(%%edi)\n\t"
-"       fadds  92(%%edx)\n\t"
-"       fstps 832(%%edi)\n\t"
+"       flds  124(%%"REG_d")\n\t"
+"       fsts  960(%%"REG_D")\n\t"
+"       fadds  92(%%"REG_d")\n\t"
+"       fstps 832(%%"REG_D")\n\t"
 "       jmp     .L_bye\n\t"
 ".L01:\n\t"
 /* Phase 8*/
 
-"       flds      (%%ecx)\n\t"
-"       fadds    4(%%ecx)\n\t"
-"       fistp  512(%%esi)\n\t"
+"       flds      (%%"REG_c")\n\t"
+"       fadds    4(%%"REG_c")\n\t"
+"       fistp  512(%%"REG_S")\n\t"
 
-"       flds      (%%ecx)\n\t"
-"       fsubs    4(%%ecx)\n\t"
-"       fmuls  120(%%ebx)\n\t"
+"       flds      (%%"REG_c")\n\t"
+"       fsubs    4(%%"REG_c")\n\t"
+"       fmuls  120(%%"REG_b")\n\t"
 
-"       fistp     (%%esi)\n\t"
+"       fistp     (%%"REG_S")\n\t"
 
 
-"       flds    12(%%ecx)\n\t"
-"       fsubs    8(%%ecx)\n\t"
-"       fmuls  120(%%ebx)\n\t"
-"       fist   256(%%edi)\n\t"
-"       fadds   12(%%ecx)\n\t"
-"       fadds    8(%%ecx)\n\t"
-"       fistp  256(%%esi)\n\t"
+"       flds    12(%%"REG_c")\n\t"
+"       fsubs    8(%%"REG_c")\n\t"
+"       fmuls  120(%%"REG_b")\n\t"
+"       fist   256(%%"REG_D")\n\t"
+"       fadds   12(%%"REG_c")\n\t"
+"       fadds    8(%%"REG_c")\n\t"
+"       fistp  256(%%"REG_S")\n\t"
 
-"       flds   16(%%ecx)\n\t"
-"       fsubs  20(%%ecx)\n\t"
-"       fmuls 120(%%ebx)\n\t"
+"       flds   16(%%"REG_c")\n\t"
+"       fsubs  20(%%"REG_c")\n\t"
+"       fmuls 120(%%"REG_b")\n\t"
 
-"       flds   28(%%ecx)\n\t"
-"       fsubs  24(%%ecx)\n\t"
-"       fmuls 120(%%ebx)\n\t"
-"       fist  384(%%edi)\n\t"
+"       flds   28(%%"REG_c")\n\t"
+"       fsubs  24(%%"REG_c")\n\t"
+"       fmuls 120(%%"REG_b")\n\t"
+"       fist  384(%%"REG_D")\n\t"
 "       fld      %%st(0)\n\t"
-"       fadds  24(%%ecx)\n\t"
-"       fadds  28(%%ecx)\n\t"
+"       fadds  24(%%"REG_c")\n\t"
+"       fadds  28(%%"REG_c")\n\t"
 "       fld      %%st(0)\n\t"
-"       fadds  16(%%ecx)\n\t"
-"       fadds  20(%%ecx)\n\t"
-"       fistp  384(%%esi)\n\t"
+"       fadds  16(%%"REG_c")\n\t"
+"       fadds  20(%%"REG_c")\n\t"
+"       fistp  384(%%"REG_S")\n\t"
 "       fadd     %%st(2)\n\t"
-"       fistp  128(%%esi)\n\t"
+"       fistp  128(%%"REG_S")\n\t"
 "       faddp    %%st(1)\n\t"
-"       fistp  128(%%edi)\n\t"
+"       fistp  128(%%"REG_D")\n\t"
 
 /* Phase 9*/
 
-"       flds    32(%%edx)\n\t"
-"       fadds   48(%%edx)\n\t"
-"       fistp  448(%%esi)\n\t"
+"       flds    32(%%"REG_d")\n\t"
+"       fadds   48(%%"REG_d")\n\t"
+"       fistp  448(%%"REG_S")\n\t"
 
-"       flds   48(%%edx)\n\t"
-"       fadds  40(%%edx)\n\t"
-"       fistp 320(%%esi)\n\t"
+"       flds   48(%%"REG_d")\n\t"
+"       fadds  40(%%"REG_d")\n\t"
+"       fistp 320(%%"REG_S")\n\t"
 
-"       flds   40(%%edx)\n\t"
-"       fadds  56(%%edx)\n\t"
-"       fistp 192(%%esi)\n\t"
+"       flds   40(%%"REG_d")\n\t"
+"       fadds  56(%%"REG_d")\n\t"
+"       fistp 192(%%"REG_S")\n\t"
 
-"       flds   56(%%edx)\n\t"
-"       fadds  36(%%edx)\n\t"
-"       fistp  64(%%esi)\n\t"
+"       flds   56(%%"REG_d")\n\t"
+"       fadds  36(%%"REG_d")\n\t"
+"       fistp  64(%%"REG_S")\n\t"
 
-"       flds   36(%%edx)\n\t"
-"       fadds  52(%%edx)\n\t"
-"       fistp  64(%%edi)\n\t"
+"       flds   36(%%"REG_d")\n\t"
+"       fadds  52(%%"REG_d")\n\t"
+"       fistp  64(%%"REG_D")\n\t"
 
-"       flds   52(%%edx)\n\t"
-"       fadds  44(%%edx)\n\t"
-"       fistp 192(%%edi)\n\t"
+"       flds   52(%%"REG_d")\n\t"
+"       fadds  44(%%"REG_d")\n\t"
+"       fistp 192(%%"REG_D")\n\t"
 
-"       flds   60(%%edx)\n\t"
-"       fist   448(%%edi)\n\t"
-"       fadds  44(%%edx)\n\t"
-"       fistp 320(%%edi)\n\t"
+"       flds   60(%%"REG_d")\n\t"
+"       fist   448(%%"REG_D")\n\t"
+"       fadds  44(%%"REG_d")\n\t"
+"       fistp 320(%%"REG_D")\n\t"
 
-"       flds   96(%%edx)\n\t"
-"       fadds 112(%%edx)\n\t"
+"       flds   96(%%"REG_d")\n\t"
+"       fadds 112(%%"REG_d")\n\t"
 "       fld      %%st(0)\n\t"
-"       fadds  64(%%edx)\n\t"
-"       fistp 480(%%esi)\n\t"
-"       fadds  80(%%edx)\n\t"
-"       fistp 416(%%esi)\n\t"
+"       fadds  64(%%"REG_d")\n\t"
+"       fistp 480(%%"REG_S")\n\t"
+"       fadds  80(%%"REG_d")\n\t"
+"       fistp 416(%%"REG_S")\n\t"
 
-"       flds  112(%%edx)\n\t"
-"       fadds 104(%%edx)\n\t"
+"       flds  112(%%"REG_d")\n\t"
+"       fadds 104(%%"REG_d")\n\t"
 "       fld      %%st(0)\n\t"
-"       fadds  80(%%edx)\n\t"
-"       fistp 352(%%esi)\n\t"
-"       fadds  72(%%edx)\n\t"
-"       fistp 288(%%esi)\n\t"
+"       fadds  80(%%"REG_d")\n\t"
+"       fistp 352(%%"REG_S")\n\t"
+"       fadds  72(%%"REG_d")\n\t"
+"       fistp 288(%%"REG_S")\n\t"
 
-"       flds  104(%%edx)\n\t"
-"       fadds 120(%%edx)\n\t"
+"       flds  104(%%"REG_d")\n\t"
+"       fadds 120(%%"REG_d")\n\t"
 "       fld      %%st(0)\n\t"
-"       fadds  72(%%edx)\n\t"
-"       fistp 224(%%esi)\n\t"
-"       fadds  88(%%edx)\n\t"
-"       fistp 160(%%esi)\n\t"
+"       fadds  72(%%"REG_d")\n\t"
+"       fistp 224(%%"REG_S")\n\t"
+"       fadds  88(%%"REG_d")\n\t"
+"       fistp 160(%%"REG_S")\n\t"
 
-"       flds  120(%%edx)\n\t"
-"       fadds 100(%%edx)\n\t"
+"       flds  120(%%"REG_d")\n\t"
+"       fadds 100(%%"REG_d")\n\t"
 "       fld      %%st(0)\n\t"
-"       fadds  88(%%edx)\n\t"
-"       fistp  96(%%esi)\n\t"
-"       fadds  68(%%edx)\n\t"
-"       fistp  32(%%esi)\n\t"
+"       fadds  88(%%"REG_d")\n\t"
+"       fistp  96(%%"REG_S")\n\t"
+"       fadds  68(%%"REG_d")\n\t"
+"       fistp  32(%%"REG_S")\n\t"
 
-"       flds  100(%%edx)\n\t"
-"       fadds 116(%%edx)\n\t"
+"       flds  100(%%"REG_d")\n\t"
+"       fadds 116(%%"REG_d")\n\t"
 "       fld      %%st(0)\n\t"
-"       fadds  68(%%edx)\n\t"
-"       fistp  32(%%edi)\n\t"
-"       fadds  84(%%edx)\n\t"
-"       fistp  96(%%edi)\n\t"
+"       fadds  68(%%"REG_d")\n\t"
+"       fistp  32(%%"REG_D")\n\t"
+"       fadds  84(%%"REG_d")\n\t"
+"       fistp  96(%%"REG_D")\n\t"
 
-"       flds  116(%%edx)\n\t"
-"       fadds 108(%%edx)\n\t"
+"       flds  116(%%"REG_d")\n\t"
+"       fadds 108(%%"REG_d")\n\t"
 "       fld      %%st(0)\n\t"
-"       fadds  84(%%edx)\n\t"
-"       fistp 160(%%edi)\n\t"
-"       fadds  76(%%edx)\n\t"
-"       fistp 224(%%edi)\n\t"
+"       fadds  84(%%"REG_d")\n\t"
+"       fistp 160(%%"REG_D")\n\t"
+"       fadds  76(%%"REG_d")\n\t"
+"       fistp 224(%%"REG_D")\n\t"
 
-"       flds  108(%%edx)\n\t"
-"       fadds 124(%%edx)\n\t"
+"       flds  108(%%"REG_d")\n\t"
+"       fadds 124(%%"REG_d")\n\t"
 "       fld      %%st(0)\n\t"
-"       fadds  76(%%edx)\n\t"
-"       fistp 288(%%edi)\n\t"
-"       fadds  92(%%edx)\n\t"
-"       fistp 352(%%edi)\n\t"
+"       fadds  76(%%"REG_d")\n\t"
+"       fistp 288(%%"REG_D")\n\t"
+"       fadds  92(%%"REG_d")\n\t"
+"       fistp 352(%%"REG_D")\n\t"
 
-"       flds  124(%%edx)\n\t"
-"       fist  480(%%edi)\n\t"
-"       fadds  92(%%edx)\n\t"
-"       fistp 416(%%edi)\n\t"
+"       flds  124(%%"REG_d")\n\t"
+"       fist  480(%%"REG_D")\n\t"
+"       fadds  92(%%"REG_d")\n\t"
+"       fistp 416(%%"REG_D")\n\t"
 "       movsw\n\t"
 ".L_bye:"
         :