• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2
3#if defined __GNUC__
4
5#include <arch/asm.h>
6
7#ifdef __ARMEB__
8#define al r1
9#define ah r0
10#else
11#define al r0
12#define ah r1
13#endif
14
15ENTRY(__lshrdi3)
16.global __aeabi_llsr
17__aeabi_llsr:
18
19	subs	r3, r2, #32
20	rsb	ip, r2, #32
21	movmi	al, al, lsr r2
22	movpl	al, ah, lsr r3
23 ARM(	orrmi	al, al, ah, lsl ip	)
24 THUMB(	lslmi	r3, ah, ip		)
25 THUMB(	orrmi	al, al, r3		)
26	mov	ah, ah, lsr r2
27	mov	pc, lr
28
29.type __aeabi_llsr, %function
30.size __aeabi_llsr, .-__aeabi_llsr
31ENDPROC(__lshrdi3)
32
33#endif
34