[BACK]Return to sub_n.s CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gmp / mpn / vax

Diff for /OpenXM_contrib/gmp/mpn/vax/Attic/sub_n.s between version 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2000/01/10 15:35:26 version 1.1.1.2, 2000/09/09 14:12:42
Line 1 
Line 1 
 # VAX __mpn_sub_n -- Subtract two limb vectors of the same length > 0 and store  # VAX __gmpn_sub_n -- Subtract two limb vectors of the same length > 0 and store
 # difference in a third limb vector.  # difference in a third limb vector.
   
 # Copyright (C) 1992, 1994 Free Software Foundation, Inc.  # Copyright (C) 1999, 2000 Free Software Foundation, Inc.
   
 # This file is part of the GNU MP Library.  # This file is part of the GNU MP Library.
   
 # The GNU MP Library is free software; you can redistribute it and/or modify  # The GNU MP Library is free software; you can redistribute it and/or modify
 # it under the terms of the GNU Library General Public License as published by  # it under the terms of the GNU Lesser General Public License as published by
 # the Free Software Foundation; either version 2 of the License, or (at your  # the Free Software Foundation; either version 2.1 of the License, or (at your
 # option) any later version.  # option) any later version.
   
 # The GNU MP Library is distributed in the hope that it will be useful, but  # The GNU MP Library is distributed in the hope that it will be useful, but
 # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY  # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public  # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
 # License for more details.  # License for more details.
   
 # You should have received a copy of the GNU Library General Public License  # You should have received a copy of the GNU Lesser General Public License
 # along with the GNU MP Library; see the file COPYING.LIB.  If not, write to  # along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,  # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
 # MA 02111-1307, USA.  # MA 02111-1307, USA.
Line 29 
Line 29 
   
 .text  .text
         .align 1          .align 1
 .globl ___mpn_sub_n  .globl ___gmpn_sub_n
 ___mpn_sub_n:  ___gmpn_sub_n:
         .word   0x0          .word   0x0
         movl    16(ap),r0          movl    16(ap),r0
         movl    12(ap),r1          movl    12(ap),r1
         movl    8(ap),r2          movl    8(ap),r2
         movl    4(ap),r3          movl    4(ap),r3
         subl2   r4,r4          mnegl   r0,r5
           addl2   $3,r0
           ashl    $-2,r0,r0       # unroll loop count
           bicl2   $-4,r5          # mask out low 2 bits
           movaq   (r5)[r5],r5     # 9x
           jmp     Loop(r5)
   
 Loop:  Loop:   movl    (r2)+,r4
           sbwc    (r1)+,r4
           movl    r4,(r3)+
         movl    (r2)+,r4          movl    (r2)+,r4
         sbwc    (r1)+,r4          sbwc    (r1)+,r4
         movl    r4,(r3)+          movl    r4,(r3)+
         jsobgtr r0,Loop          movl    (r2)+,r4
           sbwc    (r1)+,r4
           movl    r4,(r3)+
           movl    (r2)+,r4
           sbwc    (r1)+,r4
           movl    r4,(r3)+
           sobgtr  r0,Loop
   
         adwc    r0,r0          adwc    r0,r0
         ret          ret

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

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