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>
77 lines
1.0 KiB
ArmAsm
77 lines
1.0 KiB
ArmAsm
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright (C) 2018 Free Software Foundation, Inc.
|
|
*/
|
|
|
|
#include <linux/linkage.h>
|
|
#include <linux/export.h>
|
|
|
|
SYM_FUNC_START(__lshrti3)
|
|
beqz a2, .L1
|
|
li a5,64
|
|
sub a5,a5,a2
|
|
sext.w a4,a5
|
|
blez a5, .L2
|
|
sext.w a2,a2
|
|
srl a0,a0,a2
|
|
sll a4,a1,a4
|
|
srl a2,a1,a2
|
|
or a0,a0,a4
|
|
mv a1,a2
|
|
.L1:
|
|
ret
|
|
.L2:
|
|
negw a0,a4
|
|
li a2,0
|
|
srl a0,a1,a0
|
|
mv a1,a2
|
|
ret
|
|
SYM_FUNC_END(__lshrti3)
|
|
EXPORT_SYMBOL(__lshrti3)
|
|
|
|
SYM_FUNC_START(__ashrti3)
|
|
beqz a2, .L3
|
|
li a5,64
|
|
sub a5,a5,a2
|
|
sext.w a4,a5
|
|
blez a5, .L4
|
|
sext.w a2,a2
|
|
srl a0,a0,a2
|
|
sll a4,a1,a4
|
|
sra a2,a1,a2
|
|
or a0,a0,a4
|
|
mv a1,a2
|
|
.L3:
|
|
ret
|
|
.L4:
|
|
negw a0,a4
|
|
srai a2,a1,0x3f
|
|
sra a0,a1,a0
|
|
mv a1,a2
|
|
ret
|
|
SYM_FUNC_END(__ashrti3)
|
|
EXPORT_SYMBOL(__ashrti3)
|
|
|
|
SYM_FUNC_START(__ashlti3)
|
|
beqz a2, .L5
|
|
li a5,64
|
|
sub a5,a5,a2
|
|
sext.w a4,a5
|
|
blez a5, .L6
|
|
sext.w a2,a2
|
|
sll a1,a1,a2
|
|
srl a4,a0,a4
|
|
sll a2,a0,a2
|
|
or a1,a1,a4
|
|
mv a0,a2
|
|
.L5:
|
|
ret
|
|
.L6:
|
|
negw a1,a4
|
|
li a2,0
|
|
sll a1,a0,a1
|
|
mv a0,a2
|
|
ret
|
|
SYM_FUNC_END(__ashlti3)
|
|
EXPORT_SYMBOL(__ashlti3)
|