Link: https://lore.kernel.org/r/20260217200002.683975158@linuxfoundation.org Tested-by: Florian Fainelli <florian.fainelli@broadcom.com> Tested-by: Takeshi Ogasawara <takeshi.ogasawara@futuring-girl.com> Tested-by: Peter Schneider <pschneider1968@googlemail.com> Tested-by: Jon Hunter <jonathanh@nvidia.com> Tested-by: Salvatore Bonaccorso <carnil@debian.org> Tested-by: Brett A C Sheffield <bacs@librecast.net> Tested-by: Mark Brown <broonie@kernel.org> Tested-by: Luna Jernberg <droidbittin@gmail.com> Tested-by: Ronald Warsow <rwarsow@gmx.de> Tested-by: Justin M. Forbes <jforbes@fedoraproject.org> Tested-by: Ron Economos <re@w6rz.net> Tested-by: Miguel Ojeda <ojeda@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
57 lines
1018 B
ArmAsm
57 lines
1018 B
ArmAsm
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
|
|
#include <asm/asmmacro.h>
|
|
#include <linux/export.h>
|
|
#include <linux/linkage.h>
|
|
|
|
SYM_FUNC_START(__ashlti3)
|
|
srli.d t2, a0, 1
|
|
nor t3, zero, a2
|
|
sll.d t1, a1, a2
|
|
srl.d t2, t2, t3
|
|
andi t0, a2, 64
|
|
sll.d a0, a0, a2
|
|
or t1, t2, t1
|
|
maskeqz a1, a0, t0
|
|
masknez a0, a0, t0
|
|
masknez t0, t1, t0
|
|
or a1, t0, a1
|
|
jr ra
|
|
SYM_FUNC_END(__ashlti3)
|
|
EXPORT_SYMBOL(__ashlti3)
|
|
|
|
SYM_FUNC_START(__ashrti3)
|
|
nor t3, zero, a2
|
|
slli.d t2, a1, 1
|
|
srl.d t1, a0, a2
|
|
sll.d t2, t2, t3
|
|
andi t0, a2, 64
|
|
or t1, t2, t1
|
|
sra.d a2, a1, a2
|
|
srai.d a1, a1, 63
|
|
maskeqz a0, a2, t0
|
|
maskeqz a1, a1, t0
|
|
masknez a2, a2, t0
|
|
masknez t0, t1, t0
|
|
or a1, a1, a2
|
|
or a0, t0, a0
|
|
jr ra
|
|
SYM_FUNC_END(__ashrti3)
|
|
EXPORT_SYMBOL(__ashrti3)
|
|
|
|
SYM_FUNC_START(__lshrti3)
|
|
slli.d t2, a1, 1
|
|
nor t3, zero, a2
|
|
srl.d t1, a0, a2
|
|
sll.d t2, t2, t3
|
|
andi t0, a2, 64
|
|
srl.d a1, a1, a2
|
|
or t1, t2, t1
|
|
maskeqz a0, a1, t0
|
|
masknez a1, a1, t0
|
|
masknez t0, t1, t0
|
|
or a0, t0, a0
|
|
jr ra
|
|
SYM_FUNC_END(__lshrti3)
|
|
EXPORT_SYMBOL(__lshrti3)
|