diff options
Diffstat (limited to 'mpn')
-rw-r--r-- | mpn/alpha/ev6/nails/addmul_2.asm | 17 | ||||
-rw-r--r-- | mpn/alpha/ev6/nails/addmul_3.asm | 17 | ||||
-rw-r--r-- | mpn/alpha/ev6/nails/addmul_4.asm | 19 |
3 files changed, 22 insertions, 31 deletions
diff --git a/mpn/alpha/ev6/nails/addmul_2.asm b/mpn/alpha/ev6/nails/addmul_2.asm index fd460211b..a3ef0961b 100644 --- a/mpn/alpha/ev6/nails/addmul_2.asm +++ b/mpn/alpha/ev6/nails/addmul_2.asm @@ -1,6 +1,6 @@ dnl Alpha ev6 nails mpn_addmul_2. -dnl Copyright 2002, 2005 Free Software Foundation, Inc. +dnl Copyright 2002, 2005, 2006 Free Software Foundation, Inc. dnl dnl This file is part of the GNU MP Library. dnl @@ -78,11 +78,9 @@ PROLOGUE(mpn_addmul_2) mulq v1, ulimb, m1a C U1 umulh v1, ulimb, m1b C U1 lda n, -1(n) - beq n, Lend C U0 + beq n, L(end) C U0 ALIGN(16) -C MAIN LOOP -Loop: - bis r31, r31, r31 C U1 nop +L(top): bis r31, r31, r31 C U1 nop addq r19, acc0, acc0 C U0 propagate nail ldq rlimb, 0(rp) C L0 ldq ulimb, 0(up) C L1 @@ -110,10 +108,9 @@ Loop: lda n, -1(n) C L0 srl r19,NUMB_BITS, r19 C U1 extract nail part stq r28, -8(rp) C L1 - bne n, Loop C U0 -C END LOOP -Lend: - ldq rlimb, 0(rp) + bne n, L(top) C U0 + +L(end): ldq rlimb, 0(rp) addq r19, acc0, acc0 C propagate nail lda rp, 8(rp) srl m0a,NAIL_BITS, r8 C U0 @@ -135,5 +132,5 @@ Lend: addq r19, acc1, r0 ret r31, (r26), 1 -EPILOGUE(mpn_addmul_2) +EPILOGUE() ASM_END() diff --git a/mpn/alpha/ev6/nails/addmul_3.asm b/mpn/alpha/ev6/nails/addmul_3.asm index a6aa97bf7..1e7edc72c 100644 --- a/mpn/alpha/ev6/nails/addmul_3.asm +++ b/mpn/alpha/ev6/nails/addmul_3.asm @@ -1,6 +1,6 @@ dnl Alpha ev6 nails mpn_addmul_3. -dnl Copyright 2002 Free Software Foundation, Inc. +dnl Copyright 2002, 2006 Free Software Foundation, Inc. dnl dnl This file is part of the GNU MP Library. dnl @@ -78,7 +78,6 @@ PROLOGUE(mpn_addmul_3) sll v2,NAIL_BITS, v2 bis r31, r31, r19 -C MAIN LOOP ldq ulimb, 0(up) lda up, 8(up) mulq v0, ulimb, m0a C U1 @@ -88,10 +87,9 @@ C MAIN LOOP lda n, -1(n) mulq v2, ulimb, m2a C U1 umulh v2, ulimb, m2b C U1 - beq n, Lend C U0 + beq n, L(end) C U0 ALIGN(16) -Loop: - bis r31, r31, r31 C nop +L(top): bis r31, r31, r31 C nop ldq rlimb, 0(rp) ldq ulimb, 0(up) addq r19, acc0, acc0 C propagate nail @@ -129,10 +127,9 @@ Loop: bis r31, r31, r31 C nop stq r28, -8(rp) - bne n, Loop C U0 -C END LOOP -Lend: - ldq rlimb, 0(rp) + bne n, L(top) C U0 + +L(end): ldq rlimb, 0(rp) addq r19, acc0, acc0 C propagate nail lda rp, 8(rp) srl m0a,NAIL_BITS, r8 C U0 @@ -161,5 +158,5 @@ Lend: addq r19, acc2, m0a ret r31, (r26), 1 -EPILOGUE(mpn_addmul_3) +EPILOGUE() ASM_END() diff --git a/mpn/alpha/ev6/nails/addmul_4.asm b/mpn/alpha/ev6/nails/addmul_4.asm index d17418a8e..e006b2229 100644 --- a/mpn/alpha/ev6/nails/addmul_4.asm +++ b/mpn/alpha/ev6/nails/addmul_4.asm @@ -1,6 +1,6 @@ dnl Alpha ev6 nails mpn_addmul_4. -dnl Copyright 2002, 2005 Free Software Foundation, Inc. +dnl Copyright 2002, 2005, 2006 Free Software Foundation, Inc. dnl dnl This file is part of the GNU MP Library. dnl @@ -102,11 +102,9 @@ PROLOGUE(mpn_addmul_4) umulh v2, ulimb, m2b C U1 mulq v3, ulimb, m3a C U1 umulh v3, ulimb, m3b C U1 - beq n, Lend C U0 + beq n, L(end) C U0 ALIGN(16) -C MAIN LOOP -Loop: - bis r31, r31, r31 C U1 nop +L(top): bis r31, r31, r31 C U1 nop ldq rlimb, 0(rp) C L0 ldq ulimb, 0(up) C L1 addq r19, acc0, acc0 C U0 propagate nail @@ -149,12 +147,11 @@ Loop: addq r8, acc2, acc2 C L0 bis r31, m3b, acc3 C L1 umulh v3, ulimb, m3b C U1 - bne n, Loop C U0 -C END LOOP -Lend: - ldq rlimb, 0(rp) + bne n, L(top) C U0 + +L(end): ldq rlimb, 0(rp) addq r19, acc0, acc0 C propagate nail - lda rp, 8(rp) + lda rp, 8(rp) C FIXME: DELETE srl m0a,NAIL_BITS, r8 C U0 addq r8, acc0, r19 addq m0b, acc1, acc0 @@ -194,5 +191,5 @@ Lend: ldq r15, 56(r30) lda r30, 240(r30) ret r31, (r26), 1 -EPILOGUE(mpn_addmul_4) +EPILOGUE() ASM_END() |