1
2
3
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.__lshldi3, "ax"
18ENTRY(__lshrdi3)
19ENTRY(__aeabi_llsr)
20
21 subs r3, r2,
22 rsb ip, r2,
23 movmi al, al, lsr r2
24 movpl al, ah, lsr 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, lsr r2
29 ret lr
30
31ENDPROC(__lshrdi3)
32ENDPROC(__aeabi_llsr)
33.popsection
34