/* * Copyright (C) 2018 Free Software Foundation, Inc. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation, version 2. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #include 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)