diff options
Diffstat (limited to 'sysdeps/i386/rshift.S')
-rw-r--r-- | sysdeps/i386/rshift.S | 26 |
1 files changed, 1 insertions, 25 deletions
diff --git a/sysdeps/i386/rshift.S b/sysdeps/i386/rshift.S index 3fd0afe822..51973fe998 100644 --- a/sysdeps/i386/rshift.S +++ b/sysdeps/i386/rshift.S @@ -1,5 +1,5 @@ /* i80386 __mpn_rshift -- - Copyright (C) 1992,1994,1997-2000,2005 Free Software Foundation, Inc. + Copyright (C) 1992, 1994, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU MP Library. The GNU MP Library is free software; you can redistribute it and/or modify @@ -33,16 +33,11 @@ ENTRY (BP_SYM (__mpn_rshift)) ENTER pushl %edi - cfi_adjust_cfa_offset (4) pushl %esi - cfi_adjust_cfa_offset (4) pushl %ebx - cfi_adjust_cfa_offset (4) movl RES(%esp),%edi - cfi_rel_offset (edi, 8) movl S(%esp),%esi - cfi_rel_offset (esi, 4) movl SIZE(%esp),%edx movl CNT(%esp),%ecx #if __BOUNDED_POINTERS__ @@ -56,13 +51,11 @@ ENTRY (BP_SYM (__mpn_rshift)) negl %edx movl (%esi,%edx,4),%ebx /* read least significant limb */ - cfi_rel_offset (ebx, 0) xorl %eax,%eax shrdl %cl,%ebx,%eax /* compute carry limb */ incl %edx jz L(end) pushl %eax /* push carry limb onto stack */ - cfi_adjust_cfa_offset (4) testb $1,%dl jnz L(1) /* enter loop in the middle */ movl %ebx,%eax @@ -82,37 +75,20 @@ L(1): movl (%esi,%edx,4),%eax movl %eax,(%edi) /* store it */ popl %eax /* pop carry limb */ - cfi_adjust_cfa_offset (-4) popl %ebx - cfi_adjust_cfa_offset (-4) - cfi_restore (ebx) popl %esi - cfi_adjust_cfa_offset (-4) - cfi_restore (esi) popl %edi - cfi_adjust_cfa_offset (-4) - cfi_restore (edi) LEAVE ret - cfi_adjust_cfa_offset (12) - cfi_rel_offset (edi, 8) - cfi_rel_offset (esi, 4) - cfi_rel_offset (ebx, 0) L(end): shrl %cl,%ebx /* compute most significant limb */ movl %ebx,(%edi) /* store it */ popl %ebx - cfi_adjust_cfa_offset (-4) - cfi_restore (ebx) popl %esi - cfi_adjust_cfa_offset (-4) - cfi_restore (esi) popl %edi - cfi_adjust_cfa_offset (-4) - cfi_restore (edi) LEAVE ret |