blob: f2cc11cb3345f1b51f2af02b9c713b1c8ef2a6cd [file] [log] [blame]
/*
* 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