xref: /rk3399_rockchip-uboot/arch/arm/lib/ashrdi3.S (revision 11b1a9b2c0fecb7334ccb23f29200da0be0cc156)
1*11b1a9b2SMarek Vasut/* Copyright 1995, 1996, 1998, 1999, 2000, 2003, 2004, 2005
2*11b1a9b2SMarek Vasut   Free Software Foundation, Inc.
3*11b1a9b2SMarek Vasut
4*11b1a9b2SMarek Vasut * SPDX-License-Identifier:	GPL-2.0+
5*11b1a9b2SMarek Vasut */
6*11b1a9b2SMarek Vasut
7*11b1a9b2SMarek Vasut#include <linux/linkage.h>
8*11b1a9b2SMarek Vasut
9*11b1a9b2SMarek Vasut#ifdef __ARMEB__
10*11b1a9b2SMarek Vasut#define al r1
11*11b1a9b2SMarek Vasut#define ah r0
12*11b1a9b2SMarek Vasut#else
13*11b1a9b2SMarek Vasut#define al r0
14*11b1a9b2SMarek Vasut#define ah r1
15*11b1a9b2SMarek Vasut#endif
16*11b1a9b2SMarek Vasut
17*11b1a9b2SMarek Vasut.globl __ashrdi3
18*11b1a9b2SMarek Vasut__ashrdi3:
19*11b1a9b2SMarek VasutENTRY(__aeabi_lasr)
20*11b1a9b2SMarek Vasut
21*11b1a9b2SMarek Vasut	subs	r3, r2, #32
22*11b1a9b2SMarek Vasut	rsb	ip, r2, #32
23*11b1a9b2SMarek Vasut	movmi	al, al, lsr r2
24*11b1a9b2SMarek Vasut	movpl	al, ah, asr r3
25*11b1a9b2SMarek Vasut	orrmi	al, al, ah, lsl ip
26*11b1a9b2SMarek Vasut	mov	ah, ah, asr r2
27*11b1a9b2SMarek Vasut	mov	pc, lr
28*11b1a9b2SMarek VasutENDPROC(__aeabi_lasr)
29