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