From: James S. <jsi...@us...> - 2002-02-05 17:29:31
|
Update of /cvsroot/linux-mips/linux/include/asm-mips In directory usw-pr-cvs1:/tmp/cvs-serv10232/include/asm-mips Modified Files: asm.h Log Message: New, hopefully faster memcpy using prefetching. I'm interested in lmbench results comparing old / new memcpy benchmark results. Index: asm.h =================================================================== RCS file: /cvsroot/linux-mips/linux/include/asm-mips/asm.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- asm.h 2002/01/28 20:53:19 1.5 +++ asm.h 2002/02/05 17:29:27 1.6 @@ -132,8 +132,8 @@ #define TTABLE(string) \ .pushsection .text; \ .word 1f; \ - .previous; \ - .data; \ + .popsection \ + .pushsection .data; \ 1: .asciz string; \ .popsection @@ -144,15 +144,24 @@ * MIPS IV implementations are free to treat this as a nop. The R5000 * is one of them. So we should have an option not to use this instruction. */ -#if (_MIPS_ISA == _MIPS_ISA_MIPS4 ) || (_MIPS_ISA == _MIPS_ISA_MIPS5) || \ - (_MIPS_ISA == _MIPS_ISA_MIPS64) +#if CONFIG_CPU_HAS_PREFETCH + #define PREF(hint,addr) \ - pref hint,addr + .set push; \ + .set mips4; \ + pref hint,addr; \ + .set pop + #define PREFX(hint,addr) \ - prefx hint,addr + .set push; \ + .set mips4; \ + prefx hint,addr; \ + .set pop #else + #define PREF(hint,addr) #define PREFX(hint,addr) + #endif /* |