patch-2.4.19 linux-2.4.19/arch/i386/lib/mmx.c
Next file: linux-2.4.19/arch/i386/math-emu/reg_add_sub.c
Previous file: linux-2.4.19/arch/i386/kernel/vm86.c
Back to the patch index
Back to the overall index
- Lines: 40
- Date:
Fri Aug 2 17:39:42 2002
- Orig file:
linux-2.4.18/arch/i386/lib/mmx.c
- Orig date:
Tue May 22 10:23:16 2001
diff -urN linux-2.4.18/arch/i386/lib/mmx.c linux-2.4.19/arch/i386/lib/mmx.c
@@ -57,7 +57,7 @@
: : "r" (from) );
- for(; i>0; i--)
+ for(; i>5; i--)
{
__asm__ __volatile__ (
"1: prefetch 320(%0)\n"
@@ -88,6 +88,30 @@
: : "r" (from), "r" (to) : "memory");
from+=64;
to+=64;
+ }
+
+ for(; i>0; i--)
+ {
+ __asm__ __volatile__ (
+ " movq (%0), %%mm0\n"
+ " movq 8(%0), %%mm1\n"
+ " movq 16(%0), %%mm2\n"
+ " movq 24(%0), %%mm3\n"
+ " movq %%mm0, (%1)\n"
+ " movq %%mm1, 8(%1)\n"
+ " movq %%mm2, 16(%1)\n"
+ " movq %%mm3, 24(%1)\n"
+ " movq 32(%0), %%mm0\n"
+ " movq 40(%0), %%mm1\n"
+ " movq 48(%0), %%mm2\n"
+ " movq 56(%0), %%mm3\n"
+ " movq %%mm0, 32(%1)\n"
+ " movq %%mm1, 40(%1)\n"
+ " movq %%mm2, 48(%1)\n"
+ " movq %%mm3, 56(%1)\n"
+ : : "r" (from), "r" (to) : "memory");
+ from+=64;
+ to+=64;
}
/*
* Now do the tail of the block
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)