Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/extern/gmp/mpn/x86/p6/   (GAP Algebra Version 4.15.1©)  Datei vom 18.9.2025 mit Größe 4 kB image not shown  

Quelle  mod_34lsub1.asm   Sprache: Masm

 

dnl  Intel P6 mpn_mod_34lsub1 -- remainder modulo 2^24-1.

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 16 ecx  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,- or0  0,1  2more limbsrespectively
  $-1,ecx
 12(e, %edx

 3 ecx
 , 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

 shrl $8, %esi  C 2mod3 high
  C2
 addl %ecx

 shll $16, %edx Caddm 
addl% eax  2high
 movl SAVE_ESI, %esi

 addl %edx, %eax%,C 2

  8 esi mod3java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28

)

Messung V0.5 in Prozent
C=95 H=96 G=95

¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet am  2026-10-11) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

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.