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