chiark / gitweb /
[PATCH] klibc: version 0.211
[elogind.git] / klibc / klibc / arch / i386 / libgcc / __ashldi3.S
1 /*
2  * arch/i386/libgcc/__ashldi3.S
3  *
4  * 64-bit shl
5  */
6         .text
7         .align 4
8         .globl __ashldi3
9         .type __ashldi3,@function
10 __ashldi3:
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         shldl %cl,%eax,%edx
20         shl   %cl,%eax
21         ret
22         
23 1:
24         xorl  %edx,%edx
25         shl   %cl,%eax
26         xchgl %edx,%eax
27         ret
28
29         .size __ashldi3,.-__ashldi3