[BACK]Return to diveby3.asm CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gmp / mpn / x86

Diff for /OpenXM_contrib/gmp/mpn/x86/Attic/diveby3.asm between version 1.1 and 1.1.1.2

version 1.1, 2000/09/09 14:12:42 version 1.1.1.2, 2003/08/25 16:06:27
Line 1 
Line 1 
 dnl  x86 mpn_divexact_by3 -- mpn division by 3, expecting no remainder.  dnl  x86 mpn_divexact_by3 -- mpn division by 3, expecting no remainder.
   
   dnl  Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
 dnl  Copyright (C) 2000 Free Software Foundation, Inc.  
 dnl  dnl
 dnl  This file is part of the GNU MP Library.  dnl  This file is part of the GNU MP Library.
 dnl  dnl
Line 20  dnl  License along with the GNU MP Library; see the fi
Line 19  dnl  License along with the GNU MP Library; see the fi
 dnl  not, write to the Free Software Foundation, Inc., 59 Temple Place -  dnl  not, write to the Free Software Foundation, Inc., 59 Temple Place -
 dnl  Suite 330, Boston, MA 02111-1307, USA.  dnl  Suite 330, Boston, MA 02111-1307, USA.
   
   include(`../config.m4')
   
 dnl  The following all have their own optimized versions of this routine,  
 dnl  but for reference the code here runs as follows.  
 dnl  
 dnl       cycles/limb  
 dnl  P54     18.0  
 dnl  P55     17.0  
 dnl  P6      14.5  
 dnl  K6      14.0  
 dnl  K7      10.0  
   
   C      cycles/limb
   C P54     18.0
   C P55     17.0
   C P6      14.0
   C K6      14.0
   C K7      10.0
   C P4      24.0
   
 include(`../config.m4')  
   
   
 C mp_limb_t mpn_divexact_by3c (mp_ptr dst, mp_srcptr src, mp_size_t size,  C mp_limb_t mpn_divexact_by3c (mp_ptr dst, mp_srcptr src, mp_size_t size,
 C                              mp_limb_t carry);  C                              mp_limb_t carry);
   
Line 50  dnl  ceil(b/3) and ceil(b*2/3) where b=2^32
Line 46  dnl  ceil(b/3) and ceil(b*2/3) where b=2^32
 deflit(ONE_THIRD_CEIL,  0x55555556)  deflit(ONE_THIRD_CEIL,  0x55555556)
 deflit(TWO_THIRDS_CEIL, 0xAAAAAAAB)  deflit(TWO_THIRDS_CEIL, 0xAAAAAAAB)
   
         .text          TEXT
         ALIGN(8)          ALIGN(8)
   
 PROLOGUE(mpn_divexact_by3c)  PROLOGUE(mpn_divexact_by3c)

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.1.1.2

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>