aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/alpha/reml.S
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2008-11-26 07:26:32 +0000
committerRoland McGrath <roland@gnu.org>2008-11-26 07:26:32 +0000
commitc0439b95b88bccacb5562e372f881beb23376a72 (patch)
treeaea008f060bef693d43f285f5adb5ece05cb7db6 /sysdeps/alpha/reml.S
parentf1092afe15ad779d61a1420c05854a9122d3ce5e (diff)
downloadglibc-c0439b95b88bccacb5562e372f881beb23376a72.zip
glibc-c0439b95b88bccacb5562e372f881beb23376a72.tar.gz
glibc-c0439b95b88bccacb5562e372f881beb23376a72.tar.bz2
Moved alpha to ports repository.
2008-11-25 Roland McGrath <roland@redhat.com> * sysdeps/alpha, sysdeps/unix/bsd/osf/alpha, sysdeps/unix/bsd/Attic/osf1/alpha, sysdeps/unix/sysv/linux/alpha, sysdeps/unix/sysv/linux/alpha/alpha, sysdeps/unix/alpha, sysdeps/mach/alpha, sysdeps/mach/hurd/alpha: Subdirectories moved to ports repository. * configure.in (base_machine): Remove alpha case.
Diffstat (limited to 'sysdeps/alpha/reml.S')
-rw-r--r--sysdeps/alpha/reml.S87
1 files changed, 0 insertions, 87 deletions
diff --git a/sysdeps/alpha/reml.S b/sysdeps/alpha/reml.S
deleted file mode 100644
index ae291b0..0000000
--- a/sysdeps/alpha/reml.S
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright (C) 2004 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@twiddle.net>
- This file is part of the GNU C Library.
-
- The GNU C 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 C 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 C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include "div_libc.h"
-
-/* 32-bit signed int remainder. This is not a normal C function. Argument
- registers are t10 and t11, the result goes in t12. Only t12 and AT may
- be clobbered.
-
- The FPU can handle the division for all input values except zero.
- All we have to do is compute the remainder via multiply-and-subtract.
-
- The FPCR save/restore is due to the fact that the EV6 _will_ set FPCR_INE
- for cvttq/c even without /sui being set. It will not, however, properly
- raise the exception, so we don't have to worry about FPCR_INED being clear
- and so dying by SIGFPE. */
-
-#ifndef EXTEND
-#define EXTEND(S,D) sextl S, D
-#endif
-
- .text
- .align 4
- .globl __reml
- .type __reml, @funcnoplt
- .usepv __reml, no
-
- cfi_startproc
- cfi_return_column (RA)
-__reml:
- lda sp, -FRAME(sp)
- cfi_def_cfa_offset (FRAME)
- CALL_MCOUNT
- stt $f0, 0(sp)
- excb
- beq Y, DIVBYZERO
-
- stt $f1, 8(sp)
- stt $f2, 16(sp)
- cfi_rel_offset ($f0, 0)
- cfi_rel_offset ($f1, 8)
- cfi_rel_offset ($f2, 16)
- mf_fpcr $f2
-
- EXTEND (X, RV)
- EXTEND (Y, AT)
- _ITOFT2 RV, $f0, 24, AT, $f1, 32
- cvtqt $f0, $f0
- cvtqt $f1, $f1
- divt/c $f0, $f1, $f0
- cvttq/c $f0, $f0
- excb
- mt_fpcr $f2
- _FTOIT $f0, RV, 24
-
- ldt $f0, 0(sp)
- mull RV, Y, RV
- ldt $f1, 8(sp)
- ldt $f2, 16(sp)
- lda sp, FRAME(sp)
- cfi_restore ($f0)
- cfi_restore ($f1)
- cfi_restore ($f2)
- cfi_def_cfa_offset (0)
- subl X, RV, RV
- ret $31, (RA), 1
-
- cfi_endproc
- .size __reml, .-__reml
-
- DO_DIVBYZERO