/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (C) 2018 Free Software Foundation, Inc. */ #include <linux/linkage.h> ENTRY(__lshrti3) beqz a2, .L1 li a5,64 sub a5,a5,a2 addi sp,sp,-16 sext.w a4,a5 blez a5, .L2 sext.w a2,a2 sll a4,a1,a4 srl a0,a0,a2 srl a1,a1,a2 or a0,a0,a4 sd a1,8(sp) sd a0,0(sp) ld a0,0(sp) ld a1,8(sp) addi sp,sp,16 ret .L1: ret .L2: negw a4,a4 srl a1,a1,a4 sd a1,0(sp) sd zero,8(sp) ld a0,0(sp) ld a1,8(sp) addi sp,sp,16 ret ENDPROC(__lshrti3) |