chiark / gitweb /
[PATCH] added klibc version 0.82 (cvs tree) to the udev tree.
[elogind.git] / klibc / klibc / arch / i386 / libgcc / __ashrdi3.S
1 /*
2  * arch/i386/libgcc/__ashrdi3.S
3  *
4  * 64-bit sar
5  */
6         .text
7         .align 4
8         .globl __ashrdi3
9         .type __ashrdi3,@function
10 __ashrdi3:
11 #ifndef REGPARM
12         movl  4(%esp),%eax
13         movl  8(%esp),%edx
14         movb  12(%esp),%cl
15 #endif
16         cmpb  $32,%cl
17         jae   1f
18         
19         shrdl %cl,%edx,%eax
20         sarl  %cl,%edx
21         ret
22         
23 1:
24         sarl  %cl,%edx
25         movl  %edx,%eax
26         cdq
27         ret
28
29         .size __ashrdi3,.-__ashrdi3