summaryrefslogtreecommitdiff
path: root/sysdeps/alpha/divl.S
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2004-05-06 22:01:01 +0000
committerRichard Henderson <rth@redhat.com>2004-05-06 22:01:01 +0000
commit165634aa4c7ed7b2fe8a47ff24166400a419d141 (patch)
tree769e3eb211ade1b2dce18d6dcb745b293b8f7aef /sysdeps/alpha/divl.S
parent58d87ee17185dbd0b8f927c939343eaed34c8614 (diff)
downloadglibc-165634aa4c7ed7b2fe8a47ff24166400a419d141.tar.gz
* sysdeps/alpha/div_libc.h (_ITOFS, _ITOFT, _FTOIT, _ITOFT2): New. * sysdeps/alpha/divl.S, sysdeps/alpha/divq.S, sysdeps/alpha/divqu.S, sysdeps/alpha/reml.S, sysdeps/alpha/remq.S, sysdeps/alpha/remqu.S: Use them.
2004-05-06 Richard Henderson <rth@redhat.com> * sysdeps/alpha/div_libc.h (_ITOFS, _ITOFT, _FTOIT, _ITOFT2): New. * sysdeps/alpha/divl.S, sysdeps/alpha/divq.S, sysdeps/alpha/divqu.S, sysdeps/alpha/reml.S, sysdeps/alpha/remq.S, sysdeps/alpha/remqu.S: Use them.
Diffstat (limited to 'sysdeps/alpha/divl.S')
-rw-r--r--sysdeps/alpha/divl.S13
1 files changed, 4 insertions, 9 deletions
diff --git a/sysdeps/alpha/divl.S b/sysdeps/alpha/divl.S
index 33fa1187d9..90cd6862a7 100644
--- a/sysdeps/alpha/divl.S
+++ b/sysdeps/alpha/divl.S
@@ -48,25 +48,20 @@ __divl:
EXTEND (X, RV)
EXTEND (Y, AT)
- stq RV, 16(sp)
- stq AT, 24(sp)
-
- ldt $f0, 16(sp)
- ldt $f1, 24(sp)
+ _ITOFT2 RV, $f0, 16, AT, $f1, 24
cvtqt $f0, $f0
cvtqt $f1, $f1
-
divt/c $f0, $f1, $f0
cvttq/c $f0, $f0
- stt $f0, 16(sp)
- ldt $f0, 0(sp)
+ _FTOIT $f0, RV, 16
+ ldt $f0, 0(sp)
ldt $f1, 8(sp)
- ldl RV, 16(sp)
lda sp, FRAME(sp)
cfi_restore ($f0)
cfi_restore ($f1)
cfi_def_cfa_offset (0)
+ sextl RV, RV
ret $31, (RA), 1
cfi_endproc