/* SPDX-License-Identifier: GPL-2.0-or-later WITH GCC-exception-2.0 */ | |
#include <linux/linkage.h> | |
#include <asm/asmmacro.h> | |
#include <asm/core.h> | |
#ifdef __XTENSA_EB__ | |
#define uh a2 | |
#define ul a3 | |
#else | |
#define uh a3 | |
#define ul a2 | |
#endif /* __XTENSA_EB__ */ | |
ENTRY(__ashrdi3) | |
abi_entry_default | |
ssr a4 | |
bgei a4, 32, .Lhigh_only | |
src ul, uh, ul | |
sra uh, uh | |
abi_ret_default | |
.Lhigh_only: | |
sra ul, uh | |
srai uh, uh, 31 | |
abi_ret_default | |
ENDPROC(__ashrdi3) |