/* SPDX-License-Identifier: GPL-2.0+ */ /* Copyright 1995, 1996, 1998, 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. */ #include <linux/linkage.h> #include <asm/assembler.h> #ifdef __ARMEB__ #define al r1 #define ah r0 #else #define al r0 #define ah r1 #endif .pushsection .text.__ashrdi3, "ax" ENTRY(__ashrdi3) ENTRY(__aeabi_lasr) subs r3, r2, #32 rsb ip, r2, #32 movmi al, al, lsr r2 movpl al, ah, asr r3 ARM( orrmi al, al, ah, lsl ip ) THUMB( lslmi r3, ah, ip ) THUMB( orrmi al, al, r3 ) mov ah, ah, asr r2 ret lr ENDPROC(__ashrdi3) ENDPROC(__aeabi_lasr) .popsection