]> git.sur5r.net Git - u-boot/blob - arch/arm/lib/ashldi3.S
Merge branch 'master' of git://git.denx.de/u-boot-tegra
[u-boot] / arch / arm / lib / ashldi3.S
1 /* Copyright 1995, 1996, 1998, 1999, 2000, 2003, 2004, 2005
2    Free Software Foundation, Inc.
3
4  * SPDX-License-Identifier:     GPL-2.0+
5  */
6
7 #include <linux/linkage.h>
8 #include <asm/assembler.h>
9
10 #ifdef __ARMEB__
11 #define al r1
12 #define ah r0
13 #else
14 #define al r0
15 #define ah r1
16 #endif
17
18 .pushsection .text.__ashldi3, "ax"
19 ENTRY(__ashldi3)
20 ENTRY(__aeabi_llsl)
21
22         subs    r3, r2, #32
23         rsb     ip, r2, #32
24         movmi   ah, ah, lsl r2
25         movpl   ah, al, lsl r3
26  ARM(   orrmi   ah, ah, al, lsr ip      )
27  THUMB( lsrmi   r3, al, ip              )
28  THUMB( orrmi   ah, ah, r3              )
29         mov     al, al, lsl r2
30         ret     lr
31
32 ENDPROC(__ashldi3)
33 ENDPROC(__aeabi_llsl)
34 .popsection