Home | History | Annotate | Download | only in libgcc
      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
     30