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*62694797SAl Viro#include <linux/export.h> 8a266cdbaSOlof Johansson 9fc585d4aSOlof 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 17fc585d4aSOlof Johansson sll a4,a1,a4 18fc585d4aSOlof Johansson srl a2,a1,a2 19a89757daSAlex Guo or a0,a0,a4 20fc585d4aSOlof Johansson mv a1,a2 21a89757daSAlex Guo.L1: 22a89757daSAlex Guo ret 23a89757daSAlex Guo.L2: 24fc585d4aSOlof Johansson negw a0,a4 25fc585d4aSOlof Johansson li a2,0 26fc585d4aSOlof Johansson srl a0,a1,a0 27fc585d4aSOlof Johansson mv a1,a2 28a89757daSAlex Guo ret 29fc585d4aSOlof JohanssonSYM_FUNC_END(__lshrti3) 30fc585d4aSOlof JohanssonEXPORT_SYMBOL(__lshrti3) 31fc585d4aSOlof Johansson 32fc585d4aSOlof JohanssonSYM_FUNC_START(__ashrti3) 33fc585d4aSOlof Johansson beqz a2, .L3 34fc585d4aSOlof Johansson li a5,64 35fc585d4aSOlof Johansson sub a5,a5,a2 36fc585d4aSOlof Johansson sext.w a4,a5 37fc585d4aSOlof Johansson blez a5, .L4 38fc585d4aSOlof Johansson sext.w a2,a2 39fc585d4aSOlof Johansson srl a0,a0,a2 40fc585d4aSOlof Johansson sll a4,a1,a4 41fc585d4aSOlof Johansson sra a2,a1,a2 42fc585d4aSOlof Johansson or a0,a0,a4 43fc585d4aSOlof Johansson mv a1,a2 44fc585d4aSOlof Johansson.L3: 45fc585d4aSOlof Johansson ret 46fc585d4aSOlof Johansson.L4: 47fc585d4aSOlof Johansson negw a0,a4 48fc585d4aSOlof Johansson srai a2,a1,0x3f 49fc585d4aSOlof Johansson sra a0,a1,a0 50fc585d4aSOlof Johansson mv a1,a2 51fc585d4aSOlof Johansson ret 52fc585d4aSOlof JohanssonSYM_FUNC_END(__ashrti3) 53fc585d4aSOlof JohanssonEXPORT_SYMBOL(__ashrti3) 54fc585d4aSOlof Johansson 55fc585d4aSOlof JohanssonSYM_FUNC_START(__ashlti3) 56fc585d4aSOlof Johansson beqz a2, .L5 57fc585d4aSOlof Johansson li a5,64 58fc585d4aSOlof Johansson sub a5,a5,a2 59fc585d4aSOlof Johansson sext.w a4,a5 60fc585d4aSOlof Johansson blez a5, .L6 61fc585d4aSOlof Johansson sext.w a2,a2 62fc585d4aSOlof Johansson sll a1,a1,a2 63fc585d4aSOlof Johansson srl a4,a0,a4 64fc585d4aSOlof Johansson sll a2,a0,a2 65fc585d4aSOlof Johansson or a1,a1,a4 66fc585d4aSOlof Johansson mv a0,a2 67fc585d4aSOlof Johansson.L5: 68fc585d4aSOlof Johansson ret 69fc585d4aSOlof Johansson.L6: 70fc585d4aSOlof Johansson negw a1,a4 71fc585d4aSOlof Johansson li a2,0 72fc585d4aSOlof Johansson sll a1,a0,a1 73fc585d4aSOlof Johansson mv a0,a2 74fc585d4aSOlof Johansson ret 75fc585d4aSOlof JohanssonSYM_FUNC_END(__ashlti3) 76fc585d4aSOlof JohanssonEXPORT_SYMBOL(__ashlti3) 77