blob: f2cc11cb3345f1b51f2af02b9c713b1c8ef2a6cd [file] [log] [blame]
Greg Hartman76d05dc2016-11-23 15:51:27 -08001/*
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
231:
24 xorl %edx,%edx
25 shl %cl,%eax
26 xchgl %edx,%eax
27 ret
28
29 .size __ashldi3,.-__ashldi3