]>
Commit | Line | Data |
---|---|---|
deec15b3 HS |
1 | /* Copyright 1995, 1996, 1998, 1999, 2000, 2003, 2004, 2005 |
2 | Free Software Foundation, Inc. | |
3 | ||
1a459660 WD |
4 | * SPDX-License-Identifier: GPL-2.0+ |
5 | */ | |
deec15b3 | 6 | |
1251d51c | 7 | #include <linux/linkage.h> |
06b36cb7 | 8 | #include <asm/assembler.h> |
1251d51c | 9 | |
deec15b3 HS |
10 | #ifdef __ARMEB__ |
11 | #define al r1 | |
12 | #define ah r0 | |
13 | #else | |
14 | #define al r0 | |
15 | #define ah r1 | |
16 | #endif | |
17 | ||
b2f18584 | 18 | .pushsection .text.__lshldi3, "ax" |
06b36cb7 | 19 | ENTRY(__lshrdi3) |
1251d51c | 20 | ENTRY(__aeabi_llsr) |
deec15b3 HS |
21 | |
22 | subs r3, r2, #32 | |
23 | rsb ip, r2, #32 | |
24 | movmi al, al, lsr r2 | |
25 | movpl al, ah, lsr r3 | |
06b36cb7 MV |
26 | ARM( orrmi al, al, ah, lsl ip ) |
27 | THUMB( lslmi r3, ah, ip ) | |
28 | THUMB( orrmi al, al, r3 ) | |
deec15b3 | 29 | mov ah, ah, lsr r2 |
06b36cb7 MV |
30 | ret lr |
31 | ||
32 | ENDPROC(__lshrdi3) | |
1251d51c | 33 | ENDPROC(__aeabi_llsr) |
b2f18584 | 34 | .popsection |