1/* Copyright 1995, 1996, 1998, 1999, 2000, 2003, 2004, 2005 2 Free Software Foundation, Inc. 3 4 * SPDX-License-Identifier: GPL-2.0+ 5 */ 6 7#include <linux/linkage.h> 8#include <asm/assembler.h> 9 10#ifdef __ARMEB__ 11#define al r1 12#define ah r0 13#else 14#define al r0 15#define ah r1 16#endif 17 18ENTRY(__ashldi3) 19ENTRY(__aeabi_llsl) 20 21 subs r3, r2, #32 22 rsb ip, r2, #32 23 movmi ah, ah, lsl r2 24 movpl ah, al, lsl r3 25 ARM( orrmi ah, ah, al, lsr ip ) 26 THUMB( lsrmi r3, al, ip ) 27 THUMB( orrmi ah, ah, r3 ) 28 mov al, al, lsl r2 29 ret lr 30 31ENDPROC(__ashldi3) 32ENDPROC(__aeabi_llsl) 33