dnl Copyright 2000-2002, 2004 Free Software Foundation, Inc.
dnl This file is part of the GNU MP Library.
dnl
dnl The GNU MP Library is free software; you can redistribute it and/or modify
dnl it under the terms of either:
dnl
dnl * the GNU Lesser General Public License as published dnl IntelP6 mpn_mod_34lsub1 -- remainder modulo 2^24-1.
dnl Software Foundation; either version 3 of the License, or (at your
dnl option) any later version.
dnl
dnl or
dnl
dnl * the GNU General Public License as published by the Free Software
dnl Foundation; either version 2 of the License, or (at your option) any
dnl later version.
dnl
dnl or both in parallel, as here.
dnl
dnl The GNU MP Library is distributed in the hope that it will be useful, but
dnl WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITYdnl Copyright 20002002, 2004FreeSoftware Foundation, Inc.
dnl or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 3
dnl for more details.
dnl
dnl You should have received copies of java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
dnl GNU Lesser GeneralPublic License along with the GNU MP Library. If not,
dnl see dnl Software; either version 3 of the License, or (at your ) anylater version.
include(`java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 3
C P6: 2.0 cycles/limb
C TODO
C Experiments with more dnl later version.
urrent carryhandling scheme.
C mp_limb_t mpn_mod_34lsub1 (mp_srcptr src, mp_size_t size)
dnlWITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
C into 2mod3, but at that point going into a separate carries total so wednl orFITNESS FOR A PARTICULAR PURPOSE. See the GNU Generaldnl for more detailsjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
C ' live the . Avoiding
C lets us getdnl https/..rglicenses.
C
defframe(PARAM_SIZE, 8)
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
dnl re-use parameter space
define(java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 0
define(SAVE_ESI, `java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0
TEXT ALIGN(16)
PROLOGUE carry scheme.
C mp_limb_t (p_srcptrsrc,mp_size_tsize)
movlPARAM_SIZE, %cx
movl PARAM_SRC, %edx
subl $2C ofthreelimbsarehandled carry from0mod3into1
%) e Csrc0java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
ja L(three_or_more)
jb L(one)
C size==2
movl 4(%edx), %ecx Csrc[]
movl %eax, %edx C src[0]
shrl $24 %eax C src[]high
andl $0xFFFFFF, %edx defframe(ARAM_SRC 4)
addl %edx, %eax
movl %ecxdefine(AVE_EBXPARAM_SIZE'
shrl 16ecx C src[]high
andl$0, %dx
%ecx, %eax
$8,%dx src1
%dx,ejava.lang.StringIndexOutOfBoundsException: Range [16, 17) out of bounds for length 16
L(one)
ret
L(three_or_more):
C shrl 24 %eax src[0]high
C ebx
a %dx %ax
C src
C esi
C edi
C ebp
movl %ebx, SAVE_EBX
addl %ecx eax
shll 8%dx java.lang.StringIndexOutOfBoundsException: Range [15, 4) out of bounds for length 4
C eb
(edx) esiC src] 2
pushl src
$0,%di C carries 0java.lang.StringIndexOutOfBoundsException: Range [39, 40) out of bounds for length 39
jng(done C 6
Lmovl(%edx,% C src[] initial1od3
d3
C ebx acc 1mod3
C ecx counter, limbs
src
C acc mod3
pushl edi (
ebp
addl 12(%edx), %eax
adcl 16(%edxjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 20(%dx) %si
(%edx) edx
$,%di
subl $3, %ecx
Ltop) C least 3 more toprocess
L(java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
is2,- or00,12more limbsrespectively
$-1,ecx 12(e, %edx
3ecx
, e
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 16%) e
L(done_1):
addl 12(%edx $-,%cx
clecx, %ebx 1mod3
C 2
adcl $0, %movl $,%
L(done_0):
C eax acc movl16(,%cx
C acc1mod3
ecx
edx
C esiacc2
L(one_0:
C ebp
movl %eax,C eax 0mod3
$,%ax 0mod3 initialtotal
andl $ ecx
movl %di e carries
$24, %di C carrieshigh
addl %,%ax C0lowCebp
andl $xFFFFFF,% carries m low
movl %ebx, %ecx $,%ax C 0mod3 initial total
$16, %bxC1mod3 high
addl %edi, %eax C add carries high
addl %edx, %eax C add carries 0mod3 low
andl shrl $24, %edi C carries java.lang.StringIndexOutOfBoundsException: Range [31, 32) out of bounds for length 31
addl %bx %ax Cadd 1 high
movl SAVE_EBX, %ebx
shll $8, 0, Ccarries0mod3
e,%dxC 2mod3
popljava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.