Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(25)

Unified Diff: gcc/gmp/mpn/pa64/aorslsh1_n.asm

Issue 3050029: [gcc] GCC 4.5.0=>4.5.1 (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/nacl-toolchain.git
Patch Set: Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gcc/gmp/mpn/pa64/addmul_1.asm ('k') | gcc/gmp/mpn/pa64/sub_n.asm » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gcc/gmp/mpn/pa64/aorslsh1_n.asm
diff --git a/gcc/gmp/mpn/pa64/aorslsh1_n.asm b/gcc/gmp/mpn/pa64/aorslsh1_n.asm
deleted file mode 100644
index b2cca7a3568e3ccf66cab92d51544442044669c3..0000000000000000000000000000000000000000
--- a/gcc/gmp/mpn/pa64/aorslsh1_n.asm
+++ /dev/null
@@ -1,217 +0,0 @@
-dnl PA64 mpn_addlsh1_n/mpn_sublsh1_n -- rp[] = up[] +- (vp[] << 1).
-
-dnl Copyright 2003 Free Software Foundation, Inc.
-
-dnl This file is part of the GNU MP Library.
-
-dnl The GNU MP Library is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU Lesser General Public License as published
-dnl by the Free Software Foundation; either version 3 of the License, or (at
-dnl your option) any later version.
-
-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 MERCHANTABILITY
-dnl or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
-dnl License for more details.
-
-dnl You should have received a copy of the GNU Lesser General Public License
-dnl along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
-
-include(`../config.m4')
-
-C cycles/limb
-C 8000,8200: 2
-C 8500,8600,8700: 1.75
-
-C TODO
-C * Write special feed-in code for each (n mod 8). (See the ia64 code.)
-C * Try to make this run at closer to 1.5 c/l.
-C * Set up register aliases (define(`u0',`%r19')).
-C * Explicitly align loop.
-
-dnl INPUT PARAMETERS
-define(`rp',`%r26')
-define(`up',`%r25')
-define(`vp',`%r24')
-define(`n',`%r23')
-
-ifdef(`OPERATION_addlsh1_n',`
- define(ADCSBC, `add,dc')
- define(INITC, `ldi 0,')
- define(func, mpn_addlsh1_n)
-')
-ifdef(`OPERATION_sublsh1_n',`
- define(ADCSBC, `sub,db')
- define(INITC, `ldi 1,')
- define(func, mpn_sublsh1_n)
-')
-
-MULFUNC_PROLOGUE(mpn_addlsh1_n mpn_sublsh1_n)
-
-ifdef(`HAVE_ABI_2_0w',`
- define(LEVEL, `.level 2.0w')
- define(RETREG, `%r28')
- define(CLRRET1, `dnl')
-')
-ifdef(`HAVE_ABI_2_0n',`
- define(LEVEL, `.level 2.0')
- define(RETREG, `%r29')
- define(CLRRET1, `ldi 0, %r28')
-')
-
- LEVEL
-PROLOGUE(func)
- std,ma %r3, 0x100(%r30) C save reg
-
- INITC %r1 C init saved cy
-
-C Primitive code for the first (n mod 8) limbs:
- extrd,u n, 63, 3, %r22 C count for loop0
- comib,= 0, %r22, L(unrolled) C skip loop0?
- copy %r0, %r28
-LDEF(loop0)
- ldd 0(vp), %r21
- ldo 8(vp), vp
- ldd 0(up), %r19
- ldo 8(up), up
- shrpd %r21, %r28, 63, %r31
- addi -1, %r1, %r0 C restore cy
- ADCSBC %r19, %r31, %r29
- std %r29, 0(rp)
- add,dc %r0, %r0, %r1 C save cy
- copy %r21, %r28
- addib,> -1, %r22, L(loop0)
- ldo 8(rp), rp
-
- addib,>= -8, n, L(unrolled)
- addi -1, %r1, %r0 C restore cy
-
- shrpd %r0, %r28, 63, %r28
- ADCSBC %r0, %r28, RETREG
-ifdef(`OPERATION_sublsh1_n',
-` sub %r0, RETREG, RETREG')
- CLRRET1
-
- bve (%r2)
- ldd,mb -0x100(%r30), %r3
-
-
-LDEF(unrolled)
- std %r4, -0xf8(%r30) C save reg
- ldd 0(vp), %r4
- std %r5, -0xf0(%r30) C save reg
- ldd 8(vp), %r5
- std %r6, -0xe8(%r30) C save reg
- ldd 16(vp), %r6
- std %r7, -0xe0(%r30) C save reg
-
- ldd 24(vp), %r7
- shrpd %r4, %r28, 63, %r31
- std %r8, -0xd8(%r30) C save reg
- ldd 32(vp), %r8
- shrpd %r5, %r4, 63, %r4
- std %r9, -0xd0(%r30) C save reg
- ldd 40(vp), %r9
- shrpd %r6, %r5, 63, %r5
- ldd 48(vp), %r3
- shrpd %r7, %r6, 63, %r6
- ldd 56(vp), %r28
- shrpd %r8, %r7, 63, %r7
- ldd 0(up), %r19
- shrpd %r9, %r8, 63, %r8
- ldd 8(up), %r20
- shrpd %r3, %r9, 63, %r9
- ldd 16(up), %r21
- shrpd %r28, %r3, 63, %r3
- ldd 24(up), %r22
-
- nop C alignment FIXME
- addib,<= -8, n, L(end)
- addi -1, %r1, %r0 C restore cy
-LDEF(loop)
- ADCSBC %r19, %r31, %r29
- ldd 32(up), %r19
- std %r29, 0(rp)
- ADCSBC %r20, %r4, %r29
- ldd 40(up), %r20
- std %r29, 8(rp)
- ADCSBC %r21, %r5, %r29
- ldd 48(up), %r21
- std %r29, 16(rp)
- ADCSBC %r22, %r6, %r29
- ldd 56(up), %r22
- std %r29, 24(rp)
- ADCSBC %r19, %r7, %r29
- ldd 64(vp), %r4
- std %r29, 32(rp)
- ADCSBC %r20, %r8, %r29
- ldd 72(vp), %r5
- std %r29, 40(rp)
- ADCSBC %r21, %r9, %r29
- ldd 80(vp), %r6
- std %r29, 48(rp)
- ADCSBC %r22, %r3, %r29
- std %r29, 56(rp)
-
- add,dc %r0, %r0, %r1 C save cy
-
- ldd 88(vp), %r7
- shrpd %r4, %r28, 63, %r31
- ldd 96(vp), %r8
- shrpd %r5, %r4, 63, %r4
- ldd 104(vp), %r9
- shrpd %r6, %r5, 63, %r5
- ldd 112(vp), %r3
- shrpd %r7, %r6, 63, %r6
- ldd 120(vp), %r28
- shrpd %r8, %r7, 63, %r7
- ldd 64(up), %r19
- shrpd %r9, %r8, 63, %r8
- ldd 72(up), %r20
- shrpd %r3, %r9, 63, %r9
- ldd 80(up), %r21
- shrpd %r28, %r3, 63, %r3
- ldd 88(up), %r22
-
- ldo 64(vp), vp
- ldo 64(rp), rp
- ldo 64(up), up
- addib,> -8, n, L(loop)
- addi -1, %r1, %r0 C restore cy
-LDEF(end)
- ADCSBC %r19, %r31, %r29
- ldd 32(up), %r19
- std %r29, 0(rp)
- ADCSBC %r20, %r4, %r29
- ldd 40(up), %r20
- std %r29, 8(rp)
- ADCSBC %r21, %r5, %r29
- ldd 48(up), %r21
- std %r29, 16(rp)
- ADCSBC %r22, %r6, %r29
- ldd 56(up), %r22
- std %r29, 24(rp)
- ADCSBC %r19, %r7, %r29
- ldd -0xf8(%r30), %r4 C restore reg
- std %r29, 32(rp)
- ADCSBC %r20, %r8, %r29
- ldd -0xf0(%r30), %r5 C restore reg
- std %r29, 40(rp)
- ADCSBC %r21, %r9, %r29
- ldd -0xe8(%r30), %r6 C restore reg
- std %r29, 48(rp)
- ADCSBC %r22, %r3, %r29
- ldd -0xe0(%r30), %r7 C restore reg
- std %r29, 56(rp)
-
- shrpd %r0, %r28, 63, %r28
- ldd -0xd8(%r30), %r8 C restore reg
- ADCSBC %r0, %r28, RETREG
-ifdef(`OPERATION_sublsh1_n',
-` sub %r0, RETREG, RETREG')
- CLRRET1
-
- ldd -0xd0(%r30), %r9 C restore reg
- bve (%r2)
- ldd,mb -0x100(%r30), %r3 C restore reg
-EPILOGUE()
« no previous file with comments | « gcc/gmp/mpn/pa64/addmul_1.asm ('k') | gcc/gmp/mpn/pa64/sub_n.asm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698