Commit | Line | Data |
---|---|---|
dbf4ed89 MF |
1 | /* SPDX-License-Identifier: GPL-2.0-or-later WITH GCC-exception-2.0 */ |
2 | #include <linux/linkage.h> | |
3 | #include <asm/asmmacro.h> | |
4 | #include <asm/core.h> | |
5 | ||
6 | #ifdef __XTENSA_EB__ | |
7 | #define uh a2 | |
8 | #define ul a3 | |
9 | #else | |
10 | #define uh a3 | |
11 | #define ul a2 | |
12 | #endif /* __XTENSA_EB__ */ | |
13 | ||
14 | ENTRY(__ashrdi3) | |
15 | ||
16 | abi_entry_default | |
17 | ssr a4 | |
18 | bgei a4, 32, .Lhigh_only | |
19 | src ul, uh, ul | |
20 | sra uh, uh | |
21 | abi_ret_default | |
22 | ||
23 | .Lhigh_only: | |
24 | sra ul, uh | |
25 | srai uh, uh, 31 | |
26 | abi_ret_default | |
27 | ||
28 | ENDPROC(__ashrdi3) | |
338d9150 | 29 | EXPORT_SYMBOL(__ashrdi3) |