Systemd/klibc/klibc/arch/i386/libgcc/__ashldi3.S
greg@kroah.com a41a0e28c2 [PATCH] added klibc version 0.82 (cvs tree) to the udev tree.
Not hooked up to the build yet.
2005-04-26 21:05:23 -07:00

30 lines
371 B
ArmAsm

/*
* arch/i386/libgcc/__ashldi3.S
*
* 64-bit shl
*/
.text
.align 4
.globl __ashldi3
.type __ashldi3,@function
__ashldi3:
#ifndef REGPARM
movl 4(%esp),%eax
movl 8(%esp),%edx
movb 12(%esp),%cl
#endif
cmpb $32,%cl
jae 1f
shldl %cl,%eax,%edx
shl %cl,%eax
ret
1:
xorl %edx,%edx
shl %cl,%eax
xchgl %edx,%eax
ret
.size __ashldi3,.-__ashldi3