aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/i386/i586/lshift.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-12-22 20:10:10 +0000
committerUlrich Drepper <drepper@redhat.com>2004-12-22 20:10:10 +0000
commita334319f6530564d22e775935d9c91663623a1b4 (patch)
treeb5877475619e4c938e98757d518bb1e9cbead751 /sysdeps/i386/i586/lshift.S
parent0ecb606cb6cf65de1d9fc8a919bceb4be476c602 (diff)
downloadglibc-a334319f6530564d22e775935d9c91663623a1b4.tar
glibc-a334319f6530564d22e775935d9c91663623a1b4.tar.gz
glibc-a334319f6530564d22e775935d9c91663623a1b4.tar.bz2
glibc-a334319f6530564d22e775935d9c91663623a1b4.zip
(CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.
Diffstat (limited to 'sysdeps/i386/i586/lshift.S')
-rw-r--r--sysdeps/i386/i586/lshift.S37
1 files changed, 1 insertions, 36 deletions
diff --git a/sysdeps/i386/i586/lshift.S b/sysdeps/i386/i586/lshift.S
index bc73ee6f3c..59d587934e 100644
--- a/sysdeps/i386/i586/lshift.S
+++ b/sysdeps/i386/i586/lshift.S
@@ -1,5 +1,5 @@
/* Pentium optimized __mpn_lshift --
- Copyright (C) 1992,94,95,96,97,98,2000,2005 Free Software Foundation, Inc.
+ Copyright (C) 1992, 94, 95, 96, 97, 98, 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -33,21 +33,13 @@ ENTRY (BP_SYM (__mpn_lshift))
ENTER
pushl %edi
- cfi_adjust_cfa_offset (4)
pushl %esi
- cfi_adjust_cfa_offset (4)
pushl %ebp
- cfi_adjust_cfa_offset (4)
- cfi_rel_offset (ebp, 0)
pushl %ebx
- cfi_adjust_cfa_offset (4)
movl RES(%esp),%edi
- cfi_rel_offset (edi, 12)
movl S(%esp),%esi
- cfi_rel_offset (esi, 8)
movl SIZE(%esp),%ebx
- cfi_rel_offset (ebx, 0)
movl CNT(%esp),%ecx
#if __BOUNDED_POINTERS__
shll $2, %ebx /* convert limbs to bytes */
@@ -75,11 +67,9 @@ L(normal):
xorl %eax,%eax
shldl %cl,%edx,%eax /* compute carry limb */
pushl %eax /* push carry limb onto stack */
- cfi_adjust_cfa_offset (4)
decl %ebx
pushl %ebx
- cfi_adjust_cfa_offset (4)
shrl $3,%ebx
jz L(end)
@@ -123,7 +113,6 @@ L(oop): movl -28(%edi),%eax /* fetch destination cache line */
jnz L(oop)
L(end): popl %ebx
- cfi_adjust_cfa_offset (-4)
andl $7,%ebx
jz L(end2)
L(oop2):
@@ -141,20 +130,11 @@ L(end2):
movl %edx,(%edi) /* store it */
popl %eax /* pop carry limb */
- cfi_adjust_cfa_offset (-4)
popl %ebx
- cfi_adjust_cfa_offset (-4)
- cfi_restore (ebx)
popl %ebp
- cfi_adjust_cfa_offset (-4)
- cfi_restore (ebp)
popl %esi
- cfi_adjust_cfa_offset (-4)
- cfi_restore (esi)
popl %edi
- cfi_adjust_cfa_offset (-4)
- cfi_restore (edi)
LEAVE
ret
@@ -164,18 +144,12 @@ L(end2):
function is documented to work for overlapping source and destination.
*/
- cfi_adjust_cfa_offset (16)
- cfi_rel_offset (edi, 12)
- cfi_rel_offset (esi, 8)
- cfi_rel_offset (ebp, 4)
- cfi_rel_offset (ebx, 0)
L(special):
movl (%esi),%edx
addl $4,%esi
decl %ebx
pushl %ebx
- cfi_adjust_cfa_offset (4)
shrl $3,%ebx
addl %edx,%edx
@@ -225,7 +199,6 @@ L(Loop):
L(Lend):
popl %ebx
- cfi_adjust_cfa_offset (-4)
sbbl %eax,%eax /* save carry in %eax */
andl $7,%ebx
jz L(Lend2)
@@ -250,17 +223,9 @@ L(L1): movl %edx,(%edi) /* store last limb */
negl %eax
popl %ebx
- cfi_adjust_cfa_offset (-4)
- cfi_restore (ebx)
popl %ebp
- cfi_adjust_cfa_offset (-4)
- cfi_restore (ebp)
popl %esi
- cfi_adjust_cfa_offset (-4)
- cfi_restore (esi)
popl %edi
- cfi_adjust_cfa_offset (-4)
- cfi_restore (edi)
LEAVE
ret