version 1.1.1.1, 2000/09/09 14:12:42 |
version 1.1.1.2, 2003/08/25 16:06:28 |
|
|
dnl AMD K6 mpn_mul_1 -- mpn by limb multiply. |
dnl AMD K6 mpn_mul_1 -- mpn by limb multiply. |
dnl |
|
dnl K6: 6.25 cycles/limb. |
|
|
|
|
dnl Copyright 1999, 2000, 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 22 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 K6: 6.25 cycles/limb. |
|
|
|
|
C mp_limb_t mpn_mul_1 (mp_ptr dst, mp_srcptr src, mp_size_t size, |
C mp_limb_t mpn_mul_1 (mp_ptr dst, mp_srcptr src, mp_size_t size, |
C mp_limb_t multiplier); |
C mp_limb_t multiplier); |
C mp_limb_t mpn_mul_1c (mp_ptr dst, mp_srcptr src, mp_size_t size, |
C mp_limb_t mpn_mul_1c (mp_ptr dst, mp_srcptr src, mp_size_t size, |
Line 46 defframe(PARAM_DST, 4) |
|
Line 45 defframe(PARAM_DST, 4) |
|
dnl minimum 5 because the unrolled code can't handle less |
dnl minimum 5 because the unrolled code can't handle less |
deflit(UNROLL_THRESHOLD, 5) |
deflit(UNROLL_THRESHOLD, 5) |
|
|
.text |
TEXT |
ALIGN(32) |
ALIGN(32) |
|
|
PROLOGUE(mpn_mul_1c) |
PROLOGUE(mpn_mul_1c) |
pushl %esi |
pushl %esi |
deflit(`FRAME',4) |
deflit(`FRAME',4) |
movl PARAM_CARRY, %esi |
movl PARAM_CARRY, %esi |
jmp LF(mpn_mul_1,start_nc) |
jmp L(start_nc) |
EPILOGUE() |
EPILOGUE() |
|
|
|
|