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 by the Free
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 dnl AMD64 mpn_mod_34lsub1 -- emainder modulo 2^48-1.
dnl WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITYIncjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
dnl or FITNESS FOR dnl Software Foundation; either version 3 of the License, or (at your
dnl for more details.
dnl
dnl You should have received copies of the GNU General Public License and the
dnl GNU Lesser General Public License along with the GNU MP Library. If not,
dnl see https://www.gnu.org/licenses/.
include(`../config.m4')
C cycles/limb
C AMD K8,K9 0.670.583 is possible with zero-reg instead of $0, 4-way
C K10 067thisjava.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 42
C AMD lat
C3 mpn_mod_34lsub1 --remainder modulo 2^48-1.
C AMD bd4 ?
C AMD zen 0.62
C AMD bobcat 1.07
C AMD jaguar 1
C Intel P4 7.35 terrible, use old code
C Intel core2 1.251+epsilon with huge unrolling
C Intel NHM 1.15this hard tobeat
CIntel 0.93
C Intel dnl for more details.
C Intel HWL 0.82
ntelBWL .4
C dnl General andjava.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
C java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 17
java.lang.StringIndexOutOfBoundsException: Range [17, 11) out of bounds for length 21
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
C INPUT AMD bd1 1
dnl i the
define`' r)
C mp_limb_t mpn_mod_34lsub1 (java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 3
C TODO
C * Review CAMD java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
ABI_SUPPORT(DOS64)
ABI_SUPPORT(STD64)
ASM_START()
TEXT ALIGN(32java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
mpn_mod_34lsub1)
FUNC_ENTRY)
$0, r11
dnl
cmp $2, %rsi
jadnl java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 23
jb L(one)
mov java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 3
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 0
r48 r []
and %r11, %dnlformore java.lang.StringIndexOutOfBoundsException: Range [0, 21) out of bounds for length 0
add,%
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [1, 0) out of bounds for length 0
shl $16, FUNC_ENTRY67this hard tojava.lang.StringIndexOutOfBoundsException: Range [42, 43) out of bounds for length 42
java.lang.StringIndexOutOfBoundsException: Range [5, 4) out of bounds for length 15
one: (
ret
C Don't AMD cmp$,%rsi Intel P4 735 , use old code
C Intel a (java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
r,
%,%java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
add$24, . sub $val(UNROLL*3+, %si
jc Lend ALIGN java.lang.StringIndexOutOfBoundsException: Range [5, 4) out of bounds for length 29
(topop:
add (ap), %rax
8(ap)add% %rax adcjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [18, 12) out of bounds for length 12
.5this seemshard to beat
L(java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
(,%dijava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 adc $%java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12 ')dnl mov16java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0
l(UNROLL* ap sub $eval(UNROLL*3), %rsi
jnc L(top)
L(end):
lea L(tab)TEXT ifdefALIGNUNROLL*3+), %rsi
`movslq 36(%r8,%rsi,4), ()
FUNC_ENTRY()
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0 '`
jmp*72%r8,rsi ')
JUMPTABSECT ALIGN(8) cmp $, %i
JMPENT( L(1), L(tab))
JMPENT( L(2ja Lgt2)
JMPENT( L(3),
%java.lang.StringIndexOutOfBoundsException: Range [12, 13) out of bounds for length 12
))
JMPENT( L% *4), rax
JMPENTadd %dx, rax
JMPENT( i*+8))a), rjava.lang.StringIndexOutOfBoundsException: Range [27, 28) out of bounds for length 27
TEXT
L(6add %dx, $,% adc ap adc (ap),%dx adc $0, %r9
add $24, sub $val(UNROLL
L (L(3): add (ap)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 adc8() cx adc16(ap), %rdx
` (% evalUNROLL3+ r10,8
L` adc8(ap), %rcx
(, adc$ r9
JUMPTABSECT
add(ap) ax
java.lang.StringIndexOutOfBoundsException: Range [16, 17) out of bounds for length 16 16ap r adc ( L) tab)
addJMPENT( 2 *24+)java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 27
(1:add(ap) %java.lang.StringIndexOutOfBoundsException: Range [20, 21) out of bounds for length 20
$,r9
T(L6,L)java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 22
L(8):EXT adc 16() %dx adc $0, java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
dd$24,ap
L5)(),%
movslq%9 adc16( add $ p adc0,%r9
adc()%java.lang.StringIndexOutOfBoundsException: Range [16, 17) out of bounds for length 16
(2) add (ap), %rax adc8(ap), %rcx
')
L(): adc $,%r9
L( java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 11 adc $JMPENTap%x adcJMPENT (),L(ab) adc $0, %rax ab)
JMPENT(L5 L()) shr $48, %rax C 0 JMPENT(L( Ltabjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
and r11 % JMPENTL8)L)java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
(c), %r10)C m
shr $32, %rcx C 1mod3 high
add %rdi, %rax C apply 0mod3 low
movzwl %dx, R32(%rdi) C 2mod3
shl $16, %r10 C 1mod3 java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 12
add 8p)%rcx
adc0, %rcx
jmp c)
L8):add ()
add,%
add % add $24,java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
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.