150acfb2bSThomas Gleixner/* SPDX-License-Identifier: GPL-2.0-only */ 2a89757daSAlex Guo/* 3a89757daSAlex Guo * Copyright (C) 2018 Free Software Foundation, Inc. 4a89757daSAlex Guo */ 5a266cdbaSOlof Johansson 6a266cdbaSOlof Johansson#include <linux/linkage.h> 7*fc585d4aSOlof Johansson#include <asm-generic/export.h> 8a266cdbaSOlof Johansson 9*fc585d4aSOlof JohanssonSYM_FUNC_START(__lshrti3) 10a89757daSAlex Guo beqz a2, .L1 11a89757daSAlex Guo li a5,64 12a89757daSAlex Guo sub a5,a5,a2 13a89757daSAlex Guo sext.w a4,a5 14a89757daSAlex Guo blez a5, .L2 15a89757daSAlex Guo sext.w a2,a2 16a89757daSAlex Guo srl a0,a0,a2 17*fc585d4aSOlof Johansson sll a4,a1,a4 18*fc585d4aSOlof Johansson srl a2,a1,a2 19a89757daSAlex Guo or a0,a0,a4 20*fc585d4aSOlof Johansson mv a1,a2 21a89757daSAlex Guo.L1: 22a89757daSAlex Guo ret 23a89757daSAlex Guo.L2: 24*fc585d4aSOlof Johansson negw a0,a4 25*fc585d4aSOlof Johansson li a2,0 26*fc585d4aSOlof Johansson srl a0,a1,a0 27*fc585d4aSOlof Johansson mv a1,a2 28a89757daSAlex Guo ret 29*fc585d4aSOlof JohanssonSYM_FUNC_END(__lshrti3) 30*fc585d4aSOlof JohanssonEXPORT_SYMBOL(__lshrti3) 31*fc585d4aSOlof Johansson 32*fc585d4aSOlof JohanssonSYM_FUNC_START(__ashrti3) 33*fc585d4aSOlof Johansson beqz a2, .L3 34*fc585d4aSOlof Johansson li a5,64 35*fc585d4aSOlof Johansson sub a5,a5,a2 36*fc585d4aSOlof Johansson sext.w a4,a5 37*fc585d4aSOlof Johansson blez a5, .L4 38*fc585d4aSOlof Johansson sext.w a2,a2 39*fc585d4aSOlof Johansson srl a0,a0,a2 40*fc585d4aSOlof Johansson sll a4,a1,a4 41*fc585d4aSOlof Johansson sra a2,a1,a2 42*fc585d4aSOlof Johansson or a0,a0,a4 43*fc585d4aSOlof Johansson mv a1,a2 44*fc585d4aSOlof Johansson.L3: 45*fc585d4aSOlof Johansson ret 46*fc585d4aSOlof Johansson.L4: 47*fc585d4aSOlof Johansson negw a0,a4 48*fc585d4aSOlof Johansson srai a2,a1,0x3f 49*fc585d4aSOlof Johansson sra a0,a1,a0 50*fc585d4aSOlof Johansson mv a1,a2 51*fc585d4aSOlof Johansson ret 52*fc585d4aSOlof JohanssonSYM_FUNC_END(__ashrti3) 53*fc585d4aSOlof JohanssonEXPORT_SYMBOL(__ashrti3) 54*fc585d4aSOlof Johansson 55*fc585d4aSOlof JohanssonSYM_FUNC_START(__ashlti3) 56*fc585d4aSOlof Johansson beqz a2, .L5 57*fc585d4aSOlof Johansson li a5,64 58*fc585d4aSOlof Johansson sub a5,a5,a2 59*fc585d4aSOlof Johansson sext.w a4,a5 60*fc585d4aSOlof Johansson blez a5, .L6 61*fc585d4aSOlof Johansson sext.w a2,a2 62*fc585d4aSOlof Johansson sll a1,a1,a2 63*fc585d4aSOlof Johansson srl a4,a0,a4 64*fc585d4aSOlof Johansson sll a2,a0,a2 65*fc585d4aSOlof Johansson or a1,a1,a4 66*fc585d4aSOlof Johansson mv a0,a2 67*fc585d4aSOlof Johansson.L5: 68*fc585d4aSOlof Johansson ret 69*fc585d4aSOlof Johansson.L6: 70*fc585d4aSOlof Johansson negw a1,a4 71*fc585d4aSOlof Johansson li a2,0 72*fc585d4aSOlof Johansson sll a1,a0,a1 73*fc585d4aSOlof Johansson mv a0,a2 74*fc585d4aSOlof Johansson ret 75*fc585d4aSOlof JohanssonSYM_FUNC_END(__ashlti3) 76*fc585d4aSOlof JohanssonEXPORT_SYMBOL(__ashlti3) 77