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

Diff for /OpenXM_contrib/gmp/mpn/x86/k7/Attic/aorsmul_1.asm between version 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2000/09/09 14:12:42 version 1.1.1.2, 2003/08/25 16:06:28
Line 1 
Line 1 
 dnl  AMD K7 mpn_addmul_1/mpn_submul_1 -- add or subtract mpn multiple.  dnl  AMD K7 mpn_addmul_1/mpn_submul_1 -- add or subtract mpn multiple.
 dnl  
 dnl  K7: 3.9 cycles/limb.  
 dnl  
 dnl  Future: It should be possible to avoid the separate mul after the  
 dnl  unrolled loop by moving the movl/adcl to the top.  
   
   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 25  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 K7: 3.9 cycles/limb.
   C
   C Future: It should be possible to avoid the separate mul after the
   C unrolled loop by moving the movl/adcl to the top.
   
   
   
 dnl  K7: UNROLL_COUNT  cycles/limb  dnl  K7: UNROLL_COUNT  cycles/limb
 dnl           4            4.42  dnl           4            4.42
 dnl           8            4.16  dnl           8            4.16
Line 85  defframe(SAVE_EDI, -12)
Line 85  defframe(SAVE_EDI, -12)
 defframe(SAVE_EBP, -16)  defframe(SAVE_EBP, -16)
 deflit(SAVE_SIZE, 16)  deflit(SAVE_SIZE, 16)
   
         .text          TEXT
         ALIGN(32)          ALIGN(32)
 PROLOGUE(M4_function_1)  PROLOGUE(M4_function_1)
         movl    PARAM_SIZE, %edx          movl    PARAM_SIZE, %edx
Line 93  PROLOGUE(M4_function_1)
Line 93  PROLOGUE(M4_function_1)
         xorl    %ecx, %ecx          xorl    %ecx, %ecx
   
         decl    %edx          decl    %edx
         jnz     LF(M4_function_1c,start_1)          jnz     L(start_1)
   
         movl    (%eax), %eax          movl    (%eax), %eax
         movl    PARAM_DST, %ecx          movl    PARAM_DST, %ecx
Line 264  L(here):
Line 264  L(here):
   
 ifdef(`PIC',`  ifdef(`PIC',`
 L(pic_calc):  L(pic_calc):
         C See README.family about old gas bugs          C See mpn/x86/README about old gas bugs
         leal    (%edx,%ebx,1), %edx          leal    (%edx,%ebx,1), %edx
         addl    $L(entry)-L(here), %edx          addl    $L(entry)-L(here), %edx
         addl    (%esp), %edx          addl    (%esp), %edx

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

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