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

Diff for /OpenXM_contrib/gmp/mpn/x86/pentium/Attic/sqr_basecase.asm between version 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2000/09/09 14:12:44 version 1.1.1.2, 2003/08/25 16:06:30
Line 1 
Line 1 
 dnl  Intel P5 mpn_sqr_basecase -- square an mpn number.  dnl  Intel P5 mpn_sqr_basecase -- square an mpn number.
 dnl  
 dnl  P5: approx 8 cycles per crossproduct, or 15.5 cycles per triangular  
 dnl  product at around 20x20 limbs.  
   
   dnl  Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
 dnl  Copyright (C) 1999, 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 23  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')  include(`../config.m4')
   
   
   C P5: approx 8 cycles per crossproduct, or 15.5 cycles per triangular
   C product at around 20x20 limbs.
   
   
 C void mpn_sqr_basecase (mp_ptr dst, mp_srcptr src, mp_size_t size);  C void mpn_sqr_basecase (mp_ptr dst, mp_srcptr src, mp_size_t size);
 C  C
 C Calculate src,size squared, storing the result in dst,2*size.  C Calculate src,size squared, storing the result in dst,2*size.
Line 39  defframe(PARAM_SIZE,12)
Line 38  defframe(PARAM_SIZE,12)
 defframe(PARAM_SRC, 8)  defframe(PARAM_SRC, 8)
 defframe(PARAM_DST, 4)  defframe(PARAM_DST, 4)
   
         .text          TEXT
         ALIGN(8)          ALIGN(8)
 PROLOGUE(mpn_sqr_basecase)  PROLOGUE(mpn_sqr_basecase)
 deflit(`FRAME',0)  deflit(`FRAME',0)
Line 411  L(corner):
Line 410  L(corner):
   
         mull    -8(%esi)                C src[size-1]*src[size-2]          mull    -8(%esi)                C src[size-1]*src[size-2]
   
         movl    %ecx, 0(%edi)          movl    %ecx, (%edi)
         addl    %eax, %ebx          addl    %eax, %ebx
   
         adcl    $0, %edx          adcl    $0, %edx

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

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