version 1.1.1.1, 2000/09/09 14:12:44 |
version 1.1.1.2, 2003/08/25 16:06:29 |
|
|
dnl Intel Pentium mpn_add_n/mpn_sub_n -- mpn addition and subtraction. |
dnl Intel Pentium mpn_add_n/mpn_sub_n -- mpn addition and subtraction. |
dnl |
|
dnl P5: 2.375 cycles/limb |
|
|
|
|
dnl Copyright 1992, 1994, 1995, 1996, 1999, 2000, 2002 Free Software |
dnl Copyright (C) 1992, 1994, 1995, 1996, 1999, 2000 Free Software |
|
dnl Foundation, Inc. |
dnl Foundation, Inc. |
dnl |
dnl |
dnl This file is part of the GNU MP Library. |
dnl This file is part of the GNU MP Library. |
Line 23 dnl License along with the GNU MP Library; see the fi |
|
Line 20 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: 2.375 cycles/limb |
|
|
|
|
ifdef(`OPERATION_add_n',` |
ifdef(`OPERATION_add_n',` |
define(M4_inst, adcl) |
define(M4_inst, adcl) |
define(M4_function_n, mpn_add_n) |
define(M4_function_n, mpn_add_n) |
Line 54 defframe(PARAM_SRC2, 12) |
|
Line 53 defframe(PARAM_SRC2, 12) |
|
defframe(PARAM_SRC1, 8) |
defframe(PARAM_SRC1, 8) |
defframe(PARAM_DST, 4) |
defframe(PARAM_DST, 4) |
|
|
.text |
TEXT |
ALIGN(8) |
ALIGN(8) |
PROLOGUE(M4_function_nc) |
PROLOGUE(M4_function_nc) |
|
|
Line 82 deflit(`FRAME',16) |
|
Line 81 deflit(`FRAME',16) |
|
FRAME_pushl() |
FRAME_pushl() |
movl PARAM_CARRY,%eax |
movl PARAM_CARRY,%eax |
shrl $1,%eax C shift bit 0 into carry |
shrl $1,%eax C shift bit 0 into carry |
jmp LF(M4_function_n,oop) |
jmp L(oop) |
|
|
L(endgo): |
L(endgo): |
deflit(`FRAME',16) |
deflit(`FRAME',16) |
movl PARAM_CARRY,%eax |
movl PARAM_CARRY,%eax |
shrl $1,%eax C shift bit 0 into carry |
shrl $1,%eax C shift bit 0 into carry |
jmp LF(M4_function_n,end) |
jmp L(end) |
|
|
EPILOGUE() |
EPILOGUE() |
|
|