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

Unified Diff: gcc/gmp/mpn/x86_64/atom/aors_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/x86_64/aorsmul_1.asm ('k') | gcc/gmp/mpn/x86_64/bdiv_dbm1c.asm » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gcc/gmp/mpn/x86_64/atom/aors_n.asm
diff --git a/gcc/gmp/mpn/x86_64/atom/aors_n.asm b/gcc/gmp/mpn/x86_64/atom/aors_n.asm
deleted file mode 100644
index 32c19424f02fb04a5af869d006900a90c8ec779b..0000000000000000000000000000000000000000
--- a/gcc/gmp/mpn/x86_64/atom/aors_n.asm
+++ /dev/null
@@ -1,142 +0,0 @@
-dnl X86-64 mpn_add_n, mpn_sub_n, optimized for Intel Atom.
-
-dnl Copyright 2003, 2004, 2005, 2007, 2008 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 K8,K9: 1.85
-C K10: ?
-C P4: ?
-C P6-15 (Core2): ?
-C P6-28 (Atom): 3
-
-C INPUT PARAMETERS
-define(`rp', `%rdi')
-define(`up', `%rsi')
-define(`vp', `%rdx')
-define(`n', `%rcx')
-define(`cy', `%r8') C (only for mpn_add_nc)
-
-ifdef(`OPERATION_add_n', `
- define(ADCSBB, adc)
- define(func, mpn_add_n)
- define(func_nc, mpn_add_nc)')
-ifdef(`OPERATION_sub_n', `
- define(ADCSBB, sbb)
- define(func, mpn_sub_n)
- define(func_nc, mpn_sub_nc)')
-
-MULFUNC_PROLOGUE(mpn_add_n mpn_add_nc mpn_sub_n mpn_sub_nc)
-
-ASM_START()
- TEXT
- ALIGN(16)
-PROLOGUE(func_nc)
- jmp L(ent)
-EPILOGUE()
-PROLOGUE(func)
- xor %r8, %r8
-L(ent):
- mov R32(%rcx), R32(%rax)
- shr $2, %rcx
- and $3, R32(%rax)
- jz L(b0)
- cmp $2, R32(%rax)
- jz L(b2)
- jg L(b3)
-
-L(b1): mov (%rsi), %r10
- test R32(%rcx), R32(%rcx)
- bt $0, R32(%r8)
- jnz L(gt1)
- ADCSBB (%rdx), %r10
- mov %r10, (%rdi)
- mov R32(%rcx), R32(%rax) C zero rax
- adc R32(%rax), R32(%rax)
- ret
-L(gt1): ADCSBB (%rdx), %r10
- mov 8(%rsi), %r11
- lea 16(%rsi), %rsi
- lea -16(%rdx), %rdx
- lea -16(%rdi), %rdi
- jmp L(m1)
-
-L(b2): mov (%rsi), %r9
- mov 8(%rsi), %r10
- lea -8(%rdx), %rdx
- test R32(%rcx), R32(%rcx)
- bt $0, R32(%r8)
- jnz L(gt2)
- lea -40(%rdi), %rdi
- jmp L(e2)
-L(gt2): ADCSBB 8(%rdx), %r9
- mov 16(%rsi), %r11
- lea -8(%rsi), %rsi
- lea -8(%rdi), %rdi
- jmp L(m2)
-
-L(b3): mov (%rsi), %rax
- mov 8(%rsi), %r9
- mov 16(%rsi), %r10
- test R32(%rcx), R32(%rcx)
- bt $0, %r8
- jnz L(gt3)
- lea -32(%rdi), %rdi
- jmp L(e3)
-L(gt3): ADCSBB (%rdx), %rax
- jmp L(m3)
-
-L(b0): mov (%rsi), %r11
- neg R32(%r8)
- lea -24(%rdx), %rdx
- lea -24(%rdi), %rdi
- lea 8(%rsi), %rsi
- jmp L(m0)
-
- ALIGN(8)
-L(top): mov %r11, 24(%rdi)
- ADCSBB (%rdx), %rax
- lea 32(%rdi), %rdi
-L(m3): mov %rax, (%rdi)
- ADCSBB 8(%rdx), %r9
- mov 24(%rsi), %r11
-L(m2): mov %r9, 8(%rdi)
- ADCSBB 16(%rdx), %r10
- lea 32(%rsi), %rsi
-L(m1): mov %r10, 16(%rdi)
-L(m0): ADCSBB 24(%rdx), %r11
- mov (%rsi), %rax
- mov 8(%rsi), %r9
- lea 32(%rdx), %rdx
- dec %rcx
- mov 16(%rsi), %r10
- jnz L(top)
-
- mov %r11, 24(%rdi)
-L(e3): ADCSBB (%rdx), %rax
- mov %rax, 32(%rdi)
-L(e2): ADCSBB 8(%rdx), %r9
- mov %r9, 40(%rdi)
-L(e1): ADCSBB 16(%rdx), %r10
- mov %r10, 48(%rdi)
- mov R32(%rcx), R32(%rax) C zero rax
- adc R32(%rax), R32(%rax)
- ret
-EPILOGUE()
« no previous file with comments | « gcc/gmp/mpn/x86_64/aorsmul_1.asm ('k') | gcc/gmp/mpn/x86_64/bdiv_dbm1c.asm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698