diff options
Diffstat (limited to 'mp3lib/dct64_3dnow.c')
-rw-r--r-- | mp3lib/dct64_3dnow.c | 1666 |
1 files changed, 833 insertions, 833 deletions
diff --git a/mp3lib/dct64_3dnow.c b/mp3lib/dct64_3dnow.c index 55340b0512..d528654207 100644 --- a/mp3lib/dct64_3dnow.c +++ b/mp3lib/dct64_3dnow.c @@ -19,910 +19,910 @@ void dct64_MMX_3dnow(short *a,short *b,real *c) { char tmp[256]; __asm__ volatile( -" movl %2,%%eax\n\t" +" movl %2,%%eax\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" +" 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" /* Phase 1*/ -" movq (%%eax), %%mm0\n\t" -" movq 8(%%eax), %%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 (%%eax), %%mm0\n\t" +" movq 8(%%eax), %%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" /* n.b.: pswapd*/ -" movq %%mm1, %%mm2\n\t" -" movq %%mm5, %%mm6\n\t" -" psrlq $32, %%mm1\n\t" -" psrlq $32, %%mm5\n\t" -" punpckldq %%mm2, %%mm1\n\t" -" punpckldq %%mm6, %%mm5\n\t" +" movq %%mm1, %%mm2\n\t" +" movq %%mm5, %%mm6\n\t" +" psrlq $32, %%mm1\n\t" +" psrlq $32, %%mm5\n\t" +" punpckldq %%mm2, %%mm1\n\t" +" punpckldq %%mm6, %%mm5\n\t" /**/ -" pfadd %%mm1, %%mm0\n\t" -" pfadd %%mm5, %%mm4\n\t" -" movq %%mm0, (%%edx)\n\t" -" movq %%mm4, 8(%%edx)\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" -" psrlq $32, %%mm3\n\t" -" psrlq $32, %%mm7\n\t" -" movd %%mm3, 120(%%edx)\n\t" -" movd %%mm7, 112(%%edx)\n\t" - -" movq 16(%%eax), %%mm0\n\t" -" movq 24(%%eax), %%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" +" pfadd %%mm1, %%mm0\n\t" +" pfadd %%mm5, %%mm4\n\t" +" movq %%mm0, (%%edx)\n\t" +" movq %%mm4, 8(%%edx)\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" +" psrlq $32, %%mm3\n\t" +" psrlq $32, %%mm7\n\t" +" movd %%mm3, 120(%%edx)\n\t" +" movd %%mm7, 112(%%edx)\n\t" + +" movq 16(%%eax), %%mm0\n\t" +" movq 24(%%eax), %%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" /* n.b.: pswapd*/ -" movq %%mm1, %%mm2\n\t" -" movq %%mm5, %%mm6\n\t" -" psrlq $32, %%mm1\n\t" -" psrlq $32, %%mm5\n\t" -" punpckldq %%mm2, %%mm1\n\t" -" punpckldq %%mm6, %%mm5\n\t" +" movq %%mm1, %%mm2\n\t" +" movq %%mm5, %%mm6\n\t" +" psrlq $32, %%mm1\n\t" +" psrlq $32, %%mm5\n\t" +" punpckldq %%mm2, %%mm1\n\t" +" punpckldq %%mm6, %%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" -" 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" -" psrlq $32, %%mm3\n\t" -" psrlq $32, %%mm7\n\t" -" movd %%mm3, 104(%%edx)\n\t" -" movd %%mm7, 96(%%edx)\n\t" - -" movq 32(%%eax), %%mm0\n\t" -" movq 40(%%eax), %%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" +" pfadd %%mm1, %%mm0\n\t" +" pfadd %%mm5, %%mm4\n\t" +" movq %%mm0, 16(%%edx)\n\t" +" movq %%mm4, 24(%%edx)\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" +" psrlq $32, %%mm3\n\t" +" psrlq $32, %%mm7\n\t" +" movd %%mm3, 104(%%edx)\n\t" +" movd %%mm7, 96(%%edx)\n\t" + +" movq 32(%%eax), %%mm0\n\t" +" movq 40(%%eax), %%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" /* n.b.: pswapd*/ -" movq %%mm1, %%mm2\n\t" -" movq %%mm5, %%mm6\n\t" -" psrlq $32, %%mm1\n\t" -" psrlq $32, %%mm5\n\t" -" punpckldq %%mm2, %%mm1\n\t" -" punpckldq %%mm6, %%mm5\n\t" +" movq %%mm1, %%mm2\n\t" +" movq %%mm5, %%mm6\n\t" +" psrlq $32, %%mm1\n\t" +" psrlq $32, %%mm5\n\t" +" punpckldq %%mm2, %%mm1\n\t" +" punpckldq %%mm6, %%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" -" 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" -" psrlq $32, %%mm3\n\t" -" psrlq $32, %%mm7\n\t" -" movd %%mm3, 88(%%edx)\n\t" -" movd %%mm7, 80(%%edx)\n\t" - -" movq 48(%%eax), %%mm0\n\t" -" movq 56(%%eax), %%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" +" pfadd %%mm1, %%mm0\n\t" +" pfadd %%mm5, %%mm4\n\t" +" movq %%mm0, 32(%%edx)\n\t" +" movq %%mm4, 40(%%edx)\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" +" psrlq $32, %%mm3\n\t" +" psrlq $32, %%mm7\n\t" +" movd %%mm3, 88(%%edx)\n\t" +" movd %%mm7, 80(%%edx)\n\t" + +" movq 48(%%eax), %%mm0\n\t" +" movq 56(%%eax), %%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" /* n.b.: pswapd*/ -" movq %%mm1, %%mm2\n\t" -" movq %%mm5, %%mm6\n\t" -" psrlq $32, %%mm1\n\t" -" psrlq $32, %%mm5\n\t" -" punpckldq %%mm2, %%mm1\n\t" -" punpckldq %%mm6, %%mm5\n\t" +" movq %%mm1, %%mm2\n\t" +" movq %%mm5, %%mm6\n\t" +" psrlq $32, %%mm1\n\t" +" psrlq $32, %%mm5\n\t" +" punpckldq %%mm2, %%mm1\n\t" +" punpckldq %%mm6, %%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" -" 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" -" psrlq $32, %%mm3\n\t" -" psrlq $32, %%mm7\n\t" -" movd %%mm3, 72(%%edx)\n\t" -" movd %%mm7, 64(%%edx)\n\t" +" pfadd %%mm1, %%mm0\n\t" +" pfadd %%mm5, %%mm4\n\t" +" movq %%mm0, 48(%%edx)\n\t" +" movq %%mm4, 56(%%edx)\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" +" psrlq $32, %%mm3\n\t" +" psrlq $32, %%mm7\n\t" +" movd %%mm3, 72(%%edx)\n\t" +" movd %%mm7, 64(%%edx)\n\t" /* Phase 2*/ -" movq (%%edx), %%mm0\n\t" -" movq 8(%%edx), %%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 (%%edx), %%mm0\n\t" +" movq 8(%%edx), %%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" /* n.b.: pswapd*/ -" movq %%mm1, %%mm2\n\t" -" movq %%mm5, %%mm6\n\t" -" psrlq $32, %%mm1\n\t" -" psrlq $32, %%mm5\n\t" -" punpckldq %%mm2, %%mm1\n\t" -" punpckldq %%mm6, %%mm5\n\t" +" movq %%mm1, %%mm2\n\t" +" movq %%mm5, %%mm6\n\t" +" psrlq $32, %%mm1\n\t" +" psrlq $32, %%mm5\n\t" +" punpckldq %%mm2, %%mm1\n\t" +" punpckldq %%mm6, %%mm5\n\t" /**/ -" pfadd %%mm1, %%mm0\n\t" -" pfadd %%mm5, %%mm4\n\t" -" movq %%mm0, (%%ecx)\n\t" -" movq %%mm4, 8(%%ecx)\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" -" psrlq $32, %%mm3\n\t" -" psrlq $32, %%mm7\n\t" -" movd %%mm3, 56(%%ecx)\n\t" -" movd %%mm7, 48(%%ecx)\n\t" - -" movq 16(%%edx), %%mm0\n\t" -" movq 24(%%edx), %%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" +" pfadd %%mm1, %%mm0\n\t" +" pfadd %%mm5, %%mm4\n\t" +" movq %%mm0, (%%ecx)\n\t" +" movq %%mm4, 8(%%ecx)\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" +" psrlq $32, %%mm3\n\t" +" psrlq $32, %%mm7\n\t" +" movd %%mm3, 56(%%ecx)\n\t" +" movd %%mm7, 48(%%ecx)\n\t" + +" movq 16(%%edx), %%mm0\n\t" +" movq 24(%%edx), %%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" /* n.b.: pswapd*/ -" movq %%mm1, %%mm2\n\t" -" movq %%mm5, %%mm6\n\t" -" psrlq $32, %%mm1\n\t" -" psrlq $32, %%mm5\n\t" -" punpckldq %%mm2, %%mm1\n\t" -" punpckldq %%mm6, %%mm5\n\t" +" movq %%mm1, %%mm2\n\t" +" movq %%mm5, %%mm6\n\t" +" psrlq $32, %%mm1\n\t" +" psrlq $32, %%mm5\n\t" +" punpckldq %%mm2, %%mm1\n\t" +" punpckldq %%mm6, %%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" -" 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" -" psrlq $32, %%mm3\n\t" -" psrlq $32, %%mm7\n\t" -" movd %%mm3, 40(%%ecx)\n\t" -" movd %%mm7, 32(%%ecx)\n\t" +" pfadd %%mm1, %%mm0\n\t" +" pfadd %%mm5, %%mm4\n\t" +" movq %%mm0, 16(%%ecx)\n\t" +" movq %%mm4, 24(%%ecx)\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" +" psrlq $32, %%mm3\n\t" +" psrlq $32, %%mm7\n\t" +" movd %%mm3, 40(%%ecx)\n\t" +" movd %%mm7, 32(%%ecx)\n\t" /* Phase 3*/ -" movq 64(%%edx), %%mm0\n\t" -" movq 72(%%edx), %%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 64(%%edx), %%mm0\n\t" +" movq 72(%%edx), %%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" /* n.b.: pswapd*/ -" movq %%mm1, %%mm2\n\t" -" movq %%mm5, %%mm6\n\t" -" psrlq $32, %%mm1\n\t" -" psrlq $32, %%mm5\n\t" -" punpckldq %%mm2, %%mm1\n\t" -" punpckldq %%mm6, %%mm5\n\t" +" movq %%mm1, %%mm2\n\t" +" movq %%mm5, %%mm6\n\t" +" psrlq $32, %%mm1\n\t" +" psrlq $32, %%mm5\n\t" +" punpckldq %%mm2, %%mm1\n\t" +" punpckldq %%mm6, %%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" -" 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" -" psrlq $32, %%mm3\n\t" -" psrlq $32, %%mm7\n\t" -" movd %%mm3, 120(%%ecx)\n\t" -" movd %%mm7, 112(%%ecx)\n\t" - -" movq 80(%%edx), %%mm0\n\t" -" movq 88(%%edx), %%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" +" pfadd %%mm1, %%mm0\n\t" +" pfadd %%mm5, %%mm4\n\t" +" movq %%mm0, 64(%%ecx)\n\t" +" movq %%mm4, 72(%%ecx)\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" +" psrlq $32, %%mm3\n\t" +" psrlq $32, %%mm7\n\t" +" movd %%mm3, 120(%%ecx)\n\t" +" movd %%mm7, 112(%%ecx)\n\t" + +" movq 80(%%edx), %%mm0\n\t" +" movq 88(%%edx), %%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" /* n.b.: pswapd*/ -" movq %%mm1, %%mm2\n\t" -" movq %%mm5, %%mm6\n\t" -" psrlq $32, %%mm1\n\t" -" psrlq $32, %%mm5\n\t" -" punpckldq %%mm2, %%mm1\n\t" -" punpckldq %%mm6, %%mm5\n\t" +" movq %%mm1, %%mm2\n\t" +" movq %%mm5, %%mm6\n\t" +" psrlq $32, %%mm1\n\t" +" psrlq $32, %%mm5\n\t" +" punpckldq %%mm2, %%mm1\n\t" +" punpckldq %%mm6, %%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" -" 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" -" psrlq $32, %%mm3\n\t" -" psrlq $32, %%mm7\n\t" -" movd %%mm3, 104(%%ecx)\n\t" -" movd %%mm7, 96(%%ecx)\n\t" +" pfadd %%mm1, %%mm0\n\t" +" pfadd %%mm5, %%mm4\n\t" +" movq %%mm0, 80(%%ecx)\n\t" +" movq %%mm4, 88(%%ecx)\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" +" psrlq $32, %%mm3\n\t" +" psrlq $32, %%mm7\n\t" +" movd %%mm3, 104(%%ecx)\n\t" +" movd %%mm7, 96(%%ecx)\n\t" /* Phase 4*/ -" movq (%%ecx), %%mm0\n\t" -" movq 8(%%ecx), %%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 (%%ecx), %%mm0\n\t" +" movq 8(%%ecx), %%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" /* n.b.: pswapd*/ -" movq %%mm1, %%mm2\n\t" -" movq %%mm5, %%mm6\n\t" -" psrlq $32, %%mm1\n\t" -" psrlq $32, %%mm5\n\t" -" punpckldq %%mm2, %%mm1\n\t" -" punpckldq %%mm6, %%mm5\n\t" +" movq %%mm1, %%mm2\n\t" +" movq %%mm5, %%mm6\n\t" +" psrlq $32, %%mm1\n\t" +" psrlq $32, %%mm5\n\t" +" punpckldq %%mm2, %%mm1\n\t" +" punpckldq %%mm6, %%mm5\n\t" /**/ -" pfadd %%mm1, %%mm0\n\t" -" pfadd %%mm5, %%mm4\n\t" -" movq %%mm0, (%%edx)\n\t" -" movq %%mm4, 8(%%edx)\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" -" psrlq $32, %%mm3\n\t" -" psrlq $32, %%mm7\n\t" -" movd %%mm3, 24(%%edx)\n\t" -" movd %%mm7, 16(%%edx)\n\t" - -" movq 32(%%ecx), %%mm0\n\t" -" movq 40(%%ecx), %%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" +" pfadd %%mm1, %%mm0\n\t" +" pfadd %%mm5, %%mm4\n\t" +" movq %%mm0, (%%edx)\n\t" +" movq %%mm4, 8(%%edx)\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" +" psrlq $32, %%mm3\n\t" +" psrlq $32, %%mm7\n\t" +" movd %%mm3, 24(%%edx)\n\t" +" movd %%mm7, 16(%%edx)\n\t" + +" movq 32(%%ecx), %%mm0\n\t" +" movq 40(%%ecx), %%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" /* n.b.: pswapd*/ -" movq %%mm1, %%mm2\n\t" -" movq %%mm5, %%mm6\n\t" -" psrlq $32, %%mm1\n\t" -" psrlq $32, %%mm5\n\t" -" punpckldq %%mm2, %%mm1\n\t" -" punpckldq %%mm6, %%mm5\n\t" +" movq %%mm1, %%mm2\n\t" +" movq %%mm5, %%mm6\n\t" +" psrlq $32, %%mm1\n\t" +" psrlq $32, %%mm5\n\t" +" punpckldq %%mm2, %%mm1\n\t" +" punpckldq %%mm6, %%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" -" 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" -" psrlq $32, %%mm3\n\t" -" psrlq $32, %%mm7\n\t" -" movd %%mm3, 56(%%edx)\n\t" -" movd %%mm7, 48(%%edx)\n\t" - -" movq 64(%%ecx), %%mm0\n\t" -" movq 72(%%ecx), %%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" +" pfadd %%mm1, %%mm0\n\t" +" pfadd %%mm5, %%mm4\n\t" +" movq %%mm0, 32(%%edx)\n\t" +" movq %%mm4, 40(%%edx)\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" +" psrlq $32, %%mm3\n\t" +" psrlq $32, %%mm7\n\t" +" movd %%mm3, 56(%%edx)\n\t" +" movd %%mm7, 48(%%edx)\n\t" + +" movq 64(%%ecx), %%mm0\n\t" +" movq 72(%%ecx), %%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" /* n.b.: pswapd*/ -" movq %%mm1, %%mm2\n\t" -" movq %%mm5, %%mm6\n\t" -" psrlq $32, %%mm1\n\t" -" psrlq $32, %%mm5\n\t" -" punpckldq %%mm2, %%mm1\n\t" -" punpckldq %%mm6, %%mm5\n\t" +" movq %%mm1, %%mm2\n\t" +" movq %%mm5, %%mm6\n\t" +" psrlq $32, %%mm1\n\t" +" psrlq $32, %%mm5\n\t" +" punpckldq %%mm2, %%mm1\n\t" +" punpckldq %%mm6, %%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" -" 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" -" psrlq $32, %%mm3\n\t" -" psrlq $32, %%mm7\n\t" -" movd %%mm3, 88(%%edx)\n\t" -" movd %%mm7, 80(%%edx)\n\t" - -" movq 96(%%ecx), %%mm0\n\t" -" movq 104(%%ecx), %%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" +" pfadd %%mm1, %%mm0\n\t" +" pfadd %%mm5, %%mm4\n\t" +" movq %%mm0, 64(%%edx)\n\t" +" movq %%mm4, 72(%%edx)\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" +" psrlq $32, %%mm3\n\t" +" psrlq $32, %%mm7\n\t" +" movd %%mm3, 88(%%edx)\n\t" +" movd %%mm7, 80(%%edx)\n\t" + +" movq 96(%%ecx), %%mm0\n\t" +" movq 104(%%ecx), %%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" /* n.b.: pswapd*/ -" movq %%mm1, %%mm2\n\t" -" movq %%mm5, %%mm6\n\t" -" psrlq $32, %%mm1\n\t" -" psrlq $32, %%mm5\n\t" -" punpckldq %%mm2, %%mm1\n\t" -" punpckldq %%mm6, %%mm5\n\t" +" movq %%mm1, %%mm2\n\t" +" movq %%mm5, %%mm6\n\t" +" psrlq $32, %%mm1\n\t" +" psrlq $32, %%mm5\n\t" +" punpckldq %%mm2, %%mm1\n\t" +" punpckldq %%mm6, %%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" -" 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" -" psrlq $32, %%mm3\n\t" -" psrlq $32, %%mm7\n\t" -" movd %%mm3, 120(%%edx)\n\t" -" movd %%mm7, 112(%%edx)\n\t" +" pfadd %%mm1, %%mm0\n\t" +" pfadd %%mm5, %%mm4\n\t" +" movq %%mm0, 96(%%edx)\n\t" +" movq %%mm4, 104(%%edx)\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" +" psrlq $32, %%mm3\n\t" +" psrlq $32, %%mm7\n\t" +" movd %%mm3, 120(%%edx)\n\t" +" movd %%mm7, 112(%%edx)\n\t" /* Phase 5 */ -" movq (%%edx), %%mm0\n\t" -" movq 16(%%edx), %%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 (%%edx), %%mm0\n\t" +" movq 16(%%edx), %%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" /* n.b.: pswapd*/ -" movq %%mm1, %%mm2\n\t" -" movq %%mm5, %%mm6\n\t" -" psrlq $32, %%mm1\n\t" -" psrlq $32, %%mm5\n\t" -" punpckldq %%mm2, %%mm1\n\t" -" punpckldq %%mm6, %%mm5\n\t" +" movq %%mm1, %%mm2\n\t" +" movq %%mm5, %%mm6\n\t" +" psrlq $32, %%mm1\n\t" +" psrlq $32, %%mm5\n\t" +" punpckldq %%mm2, %%mm1\n\t" +" punpckldq %%mm6, %%mm5\n\t" /**/ -" pfadd %%mm1, %%mm0\n\t" -" pfadd %%mm5, %%mm4\n\t" -" movq %%mm0, (%%ecx)\n\t" -" movq %%mm4, 16(%%ecx)\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" -" psrlq $32, %%mm3\n\t" -" psrlq $32, %%mm7\n\t" -" movd %%mm3, 8(%%ecx)\n\t" -" movd %%mm7, 24(%%ecx)\n\t" - -" movq 32(%%edx), %%mm0\n\t" -" movq 48(%%edx), %%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" +" pfadd %%mm1, %%mm0\n\t" +" pfadd %%mm5, %%mm4\n\t" +" movq %%mm0, (%%ecx)\n\t" +" movq %%mm4, 16(%%ecx)\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" +" psrlq $32, %%mm3\n\t" +" psrlq $32, %%mm7\n\t" +" movd %%mm3, 8(%%ecx)\n\t" +" movd %%mm7, 24(%%ecx)\n\t" + +" movq 32(%%edx), %%mm0\n\t" +" movq 48(%%edx), %%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" /* n.b.: pswapd*/ -" movq %%mm1, %%mm2\n\t" -" movq %%mm5, %%mm6\n\t" -" psrlq $32, %%mm1\n\t" -" psrlq $32, %%mm5\n\t" -" punpckldq %%mm2, %%mm1\n\t" -" punpckldq %%mm6, %%mm5\n\t" +" movq %%mm1, %%mm2\n\t" +" movq %%mm5, %%mm6\n\t" +" psrlq $32, %%mm1\n\t" +" psrlq $32, %%mm5\n\t" +" punpckldq %%mm2, %%mm1\n\t" +" punpckldq %%mm6, %%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" -" 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" -" psrlq $32, %%mm3\n\t" -" psrlq $32, %%mm7\n\t" -" movd %%mm3, 40(%%ecx)\n\t" -" movd %%mm7, 56(%%ecx)\n\t" - -" movq 64(%%edx), %%mm0\n\t" -" movq 80(%%edx), %%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" +" pfadd %%mm1, %%mm0\n\t" +" pfadd %%mm5, %%mm4\n\t" +" movq %%mm0, 32(%%ecx)\n\t" +" movq %%mm4, 48(%%ecx)\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" +" psrlq $32, %%mm3\n\t" +" psrlq $32, %%mm7\n\t" +" movd %%mm3, 40(%%ecx)\n\t" +" movd %%mm7, 56(%%ecx)\n\t" + +" movq 64(%%edx), %%mm0\n\t" +" movq 80(%%edx), %%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" /* n.b.: pswapd*/ -" movq %%mm1, %%mm2\n\t" -" movq %%mm5, %%mm6\n\t" -" psrlq $32, %%mm1\n\t" -" psrlq $32, %%mm5\n\t" -" punpckldq %%mm2, %%mm1\n\t" -" punpckldq %%mm6, %%mm5\n\t" +" movq %%mm1, %%mm2\n\t" +" movq %%mm5, %%mm6\n\t" +" psrlq $32, %%mm1\n\t" +" psrlq $32, %%mm5\n\t" +" punpckldq %%mm2, %%mm1\n\t" +" punpckldq %%mm6, %%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" -" 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" -" psrlq $32, %%mm3\n\t" -" psrlq $32, %%mm7\n\t" -" movd %%mm3, 72(%%ecx)\n\t" -" movd %%mm7, 88(%%ecx)\n\t" - -" movq 96(%%edx), %%mm0\n\t" -" movq 112(%%edx), %%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" +" pfadd %%mm1, %%mm0\n\t" +" pfadd %%mm5, %%mm4\n\t" +" movq %%mm0, 64(%%ecx)\n\t" +" movq %%mm4, 80(%%ecx)\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" +" psrlq $32, %%mm3\n\t" +" psrlq $32, %%mm7\n\t" +" movd %%mm3, 72(%%ecx)\n\t" +" movd %%mm7, 88(%%ecx)\n\t" + +" movq 96(%%edx), %%mm0\n\t" +" movq 112(%%edx), %%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" /* n.b.: pswapd*/ -" movq %%mm1, %%mm2\n\t" -" movq %%mm5, %%mm6\n\t" -" psrlq $32, %%mm1\n\t" -" psrlq $32, %%mm5\n\t" -" punpckldq %%mm2, %%mm1\n\t" -" punpckldq %%mm6, %%mm5\n\t" +" movq %%mm1, %%mm2\n\t" +" movq %%mm5, %%mm6\n\t" +" psrlq $32, %%mm1\n\t" +" psrlq $32, %%mm5\n\t" +" punpckldq %%mm2, %%mm1\n\t" +" punpckldq %%mm6, %%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" -" 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" -" psrlq $32, %%mm3\n\t" -" psrlq $32, %%mm7\n\t" -" movd %%mm3, 104(%%ecx)\n\t" -" movd %%mm7, 120(%%ecx)\n\t" +" pfadd %%mm1, %%mm0\n\t" +" pfadd %%mm5, %%mm4\n\t" +" movq %%mm0, 96(%%ecx)\n\t" +" movq %%mm4, 112(%%ecx)\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" +" psrlq $32, %%mm3\n\t" +" psrlq $32, %%mm7\n\t" +" movd %%mm3, 104(%%ecx)\n\t" +" movd %%mm7, 120(%%ecx)\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)*/ -" 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 %%mm0, %%mm1\n\t" -" movq %%mm2, %%mm3\n\t" -" pxor %%mm7, %%mm1\n\t" -" pxor %%mm7, %%mm3\n\t" -" pfacc %%mm1, %%mm0\n\t" -" 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" - -" 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" -" punpckldq %%mm3, %%mm3\n\t" -" movq %%mm0, %%mm4\n\t" -" movq %%mm2, %%mm5\n\t" -" pfsub %%mm2, %%mm0\n\t" -" pfmul %%mm3, %%mm0\n\t" -" movq %%mm0, %%mm1\n\t" -" pfadd %%mm5, %%mm0\n\t" -" pfadd %%mm4, %%mm0\n\t" -" 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" - -" 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" -" movq %%mm2, %%mm1\n\t" - -" pfadd 56(%%ecx), %%mm1\n\t" -" pfadd 60(%%ecx), %%mm1\n\t" -" movq %%mm1, %%mm0\n\t" - -" pfadd 48(%%ecx), %%mm0\n\t" -" pfadd 52(%%ecx), %%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" +" movd "MANGLE(plus_1f)", %%mm6\n\t" +" punpckldq 120(%%ebx), %%mm6\n\t" /* mm6 = 1.0 | 120(%%ebx)*/ +" 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 %%mm0, %%mm1\n\t" +" movq %%mm2, %%mm3\n\t" +" pxor %%mm7, %%mm1\n\t" +" pxor %%mm7, %%mm3\n\t" +" pfacc %%mm1, %%mm0\n\t" +" 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" + +" 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" +" punpckldq %%mm3, %%mm3\n\t" +" movq %%mm0, %%mm4\n\t" +" movq %%mm2, %%mm5\n\t" +" pfsub %%mm2, %%mm0\n\t" +" pfmul %%mm3, %%mm0\n\t" +" movq %%mm0, %%mm1\n\t" +" pfadd %%mm5, %%mm0\n\t" +" pfadd %%mm4, %%mm0\n\t" +" 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" + +" 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" +" movq %%mm2, %%mm1\n\t" + +" pfadd 56(%%ecx), %%mm1\n\t" +" pfadd 60(%%ecx), %%mm1\n\t" +" movq %%mm1, %%mm0\n\t" + +" pfadd 48(%%ecx), %%mm0\n\t" +" pfadd 52(%%ecx), %%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" /*---*/ -" 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" -" movq %%mm1, %%mm0\n\t" - -" pfadd 80(%%ecx), %%mm0\n\t" -" pfadd 84(%%ecx), %%mm0\n\t" -" movd %%mm0, 80(%%edx)\n\t" - -" movd 80(%%ecx), %%mm0\n\t" -" pfsub 84(%%ecx), %%mm0\n\t" -" pfmul 120(%%ebx), %%mm0\n\t" -" pfadd %%mm0, %%mm1\n\t" -" pfadd 92(%%edx), %%mm0\n\t" -" punpckldq %%mm1, %%mm0\n\t" -" movq %%mm0, 84(%%edx)\n\t" - -" movq 96(%%ecx), %%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" - -" 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 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" -" movq %%mm1, %%mm0\n\t" - -" pfadd 112(%%ecx), %%mm0\n\t" -" pfadd 116(%%ecx), %%mm0\n\t" -" movd %%mm0, 112(%%edx)\n\t" - -" movd 112(%%ecx), %%mm0\n\t" -" pfsub 116(%%ecx), %%mm0\n\t" -" pfmul 120(%%ebx), %%mm0\n\t" -" pfadd %%mm0,%%mm1\n\t" -" pfadd 124(%%edx), %%mm0\n\t" -" punpckldq %%mm1, %%mm0\n\t" -" movq %%mm0, 116(%%edx)\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" +" movq %%mm1, %%mm0\n\t" + +" pfadd 80(%%ecx), %%mm0\n\t" +" pfadd 84(%%ecx), %%mm0\n\t" +" movd %%mm0, 80(%%edx)\n\t" + +" movd 80(%%ecx), %%mm0\n\t" +" pfsub 84(%%ecx), %%mm0\n\t" +" pfmul 120(%%ebx), %%mm0\n\t" +" |