1
2
3
4
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"
19ENTRY(__ashldi3)
20ENTRY(__aeabi_llsl)
21
22 subs r3, r2,
23 rsb ip, r2,
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
32ENDPROC(__ashldi3)
33ENDPROC(__aeabi_llsl)
34.popsection
35