1*4882a593Smuzhiyun;; SPDX-License-Identifier: GPL-2.0-or-later 2*4882a593Smuzhiyun;; Copyright (C) 2010 Texas Instruments Incorporated 3*4882a593Smuzhiyun;; Contributed by Mark Salter <msalter@redhat.com>. 4*4882a593Smuzhiyun;; 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun;; uint64_t __c6xabi_llshr(uint64_t val, uint shift) 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun#include <linux/linkage.h> 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun .text 11*4882a593SmuzhiyunENTRY(__c6xabi_llshr) 12*4882a593Smuzhiyun mv .l1x B4,A1 13*4882a593Smuzhiyun [!A1] b .s2 B3 ; return if zero shift count 14*4882a593Smuzhiyun mvk .s1 32,A0 15*4882a593Smuzhiyun sub .d1 A0,A1,A0 16*4882a593Smuzhiyun cmplt .l1 0,A0,A2 17*4882a593Smuzhiyun [A2] shl .s1 A5,A0,A0 18*4882a593Smuzhiyun nop 19*4882a593Smuzhiyun [!A2] neg .l1 A0,A4 20*4882a593Smuzhiyun|| [A2] shru .s1 A4,A1,A4 21*4882a593Smuzhiyun [!A2] shr .s1 A5,A4,A4 22*4882a593Smuzhiyun|| [A2] or .d1 A4,A0,A4 23*4882a593Smuzhiyun [!A2] shr .s1 A5,0x1f,A5 24*4882a593Smuzhiyun [A2] shr .s1 A5,A1,A5 25*4882a593Smuzhiyun bnop .s2 B3,5 26*4882a593SmuzhiyunENDPROC(__c6xabi_llshr) 27