=================================================================== RCS file: /home/cvs/OpenXM_contrib/gmp/mpn/x86/Attic/copyd.asm,v retrieving revision 1.1.1.1 retrieving revision 1.1.1.2 diff -u -p -r1.1.1.1 -r1.1.1.2 --- OpenXM_contrib/gmp/mpn/x86/Attic/copyd.asm 2000/09/09 14:12:42 1.1.1.1 +++ OpenXM_contrib/gmp/mpn/x86/Attic/copyd.asm 2003/08/25 16:06:27 1.1.1.2 @@ -1,9 +1,6 @@ dnl x86 mpn_copyd -- copy limb vector, decrementing. -dnl -dnl Future: On P6 an MMX loop should be able to go faster than this code. - -dnl Copyright (C) 1999, 2000 Free Software Foundation, Inc. +dnl Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. dnl dnl This file is part of the GNU MP Library. dnl @@ -22,27 +19,32 @@ dnl License along with the GNU MP Library; see the fi dnl not, write to the Free Software Foundation, Inc., 59 Temple Place - dnl Suite 330, Boston, MA 02111-1307, USA. - include(`../config.m4') +C cycles/limb startup (approx) +C P5: 1.0 40 +C P6 2.4 70 +C K6 1.0 55 +C K7: 1.3 75 +C P4: 2.6 175 +C +C (Startup time includes some function call overheads.) + + C void mpn_copyd (mp_ptr dst, mp_srcptr src, mp_size_t size); C C Copy src,size to dst,size, working from high to low addresses. C C The code here is very generic and can be expected to be reasonable on all C the x86 family. -C -C P5 - 1.0 cycles/limb. -C -C P6 - 2.4 cycles/limb, approx 40 cycles startup. defframe(PARAM_SIZE,12) defframe(PARAM_SRC, 8) defframe(PARAM_DST, 4) deflit(`FRAME',0) - .text + TEXT ALIGN(32) PROLOGUE(mpn_copyd)