]> git.sur5r.net Git - u-boot/blob - arch/arm/lib/ashrdi3.S
6e15774c0a89239eb2d027e4f2521b2fbcc81ed0
[u-boot] / arch / arm / lib / ashrdi3.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.__ashrdi3, "ax"
19 ENTRY(__ashrdi3)
20 ENTRY(__aeabi_lasr)
21
22         subs    r3, r2, #32
23         rsb     ip, r2, #32
24         movmi   al, al, lsr r2
25         movpl   al, ah, asr r3
26  ARM(   orrmi   al, al, ah, lsl ip      )
27  THUMB( lslmi   r3, ah, ip              )
28  THUMB( orrmi   al, al, r3              )
29         mov     ah, ah, asr r2
30         ret     lr
31
32 ENDPROC(__ashrdi3)
33 ENDPROC(__aeabi_lasr)
34 .popsection