1*83d290c5STom Rini/* SPDX-License-Identifier: GPL-2.0+ */ 211b1a9b2SMarek Vasut/* Copyright 1995, 1996, 1998, 1999, 2000, 2003, 2004, 2005 311b1a9b2SMarek Vasut Free Software Foundation, Inc. 411b1a9b2SMarek Vasut */ 511b1a9b2SMarek Vasut 611b1a9b2SMarek Vasut#include <linux/linkage.h> 706b36cb7SMarek Vasut#include <asm/assembler.h> 811b1a9b2SMarek Vasut 911b1a9b2SMarek Vasut#ifdef __ARMEB__ 1011b1a9b2SMarek Vasut#define al r1 1111b1a9b2SMarek Vasut#define ah r0 1211b1a9b2SMarek Vasut#else 1311b1a9b2SMarek Vasut#define al r0 1411b1a9b2SMarek Vasut#define ah r1 1511b1a9b2SMarek Vasut#endif 1611b1a9b2SMarek Vasut 17b2f18584SStephen Warren.pushsection .text.__lshldi3, "ax" 1806b36cb7SMarek VasutENTRY(__lshrdi3) 1911b1a9b2SMarek VasutENTRY(__aeabi_llsr) 2011b1a9b2SMarek Vasut 2111b1a9b2SMarek Vasut subs r3, r2, #32 2211b1a9b2SMarek Vasut rsb ip, r2, #32 2311b1a9b2SMarek Vasut movmi al, al, lsr r2 2411b1a9b2SMarek Vasut movpl al, ah, lsr r3 2506b36cb7SMarek Vasut ARM( orrmi al, al, ah, lsl ip ) 2606b36cb7SMarek Vasut THUMB( lslmi r3, ah, ip ) 2706b36cb7SMarek Vasut THUMB( orrmi al, al, r3 ) 2811b1a9b2SMarek Vasut mov ah, ah, lsr r2 2906b36cb7SMarek Vasut ret lr 3006b36cb7SMarek Vasut 3106b36cb7SMarek VasutENDPROC(__lshrdi3) 3211b1a9b2SMarek VasutENDPROC(__aeabi_llsr) 33b2f18584SStephen Warren.popsection 34