aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/s390/s390-64/add_n.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/s390/s390-64/add_n.S')
-rw-r--r--sysdeps/s390/s390-64/add_n.S63
1 files changed, 0 insertions, 63 deletions
diff --git a/sysdeps/s390/s390-64/add_n.S b/sysdeps/s390/s390-64/add_n.S
deleted file mode 100644
index 89197b2dbf..0000000000
--- a/sysdeps/s390/s390-64/add_n.S
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Add two limb vectors of the same length > 0 and store sum in a third
- limb vector.
- Copyright (C) 2001-2017 Free Software Foundation, Inc.
- Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
- This file is part of the GNU MP Library.
-
- The GNU MP Library is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as published by
- the Free Software Foundation; either version 2.1 of the License, or (at your
- option) any later version.
-
- The GNU MP Library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
- License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with the GNU MP Library; see the file COPYING.LIB. If not,
- see <http://www.gnu.org/licenses/>. */
-
-/*
- INPUT PARAMETERS
- res_ptr %r2
- s1_ptr %r3
- s2_ptr %r4
- size %r5
-*/
-
-#include "sysdep.h"
-#include "asm-syntax.h"
-
- .text
-ENTRY(__mpn_add_n)
- stg %r6,48(%r15) # save register 6
- cfi_offset (%r6,-112)
- slgr %r1,%r1
- lghi %r0,1 # cannot use ahi to add carry, use alr
-.L0: lg %r6,0(%r1,%r3) # .L0 -> no carry from last add
- alg %r6,0(%r1,%r4)
- stg %r6,0(%r1,%r2)
- la %r1,8(%r1)
- brc 3,.L3
-.L1: brct %r5,.L0
- slgr %r2,%r2 # no last carry to return
- j .Lexit
-.L2: lg %r6,0(%r1,%r3) # .L2 -> carry from last add
- alg %r6,0(%r1,%r4)
- brc 3,.L4
- algr %r6,%r0 # no carry yet, add carry from last add
- stg %r6,0(%r1,%r2)
- la %r1,8(%r1)
- brc 12,.L1 # new carry ?
-.L3: brct %r5,.L2
- lgr %r2,%r0 # return last carry
- j .Lexit
-.L4: algr %r6,%r0 # already a carry, add carry from last add
- stg %r6,0(%r1,%r2)
- la %r1,8(%r1)
- brct %r5,.L2
- lgr %r2,%r0 # return last carry
-.Lexit: lg %r6,48(%r15) # restore register 6
- br %r14
-END(__mpn_add_n)