mb/starlabs/{lite_adl,byte_adl}: Don't select MAINBOARD_HAS_TPM2
[coreboot2.git] / src / arch / arm / libgcc / ashldi3.S
blobc9f2711f4e7a059423eb3bb515c9ab48b2ae7546
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 #if defined __GNUC__
5 #include <arch/asm.h>
7 #ifdef __ARMEB__
8 #define al r1
9 #define ah r0
10 #else
11 #define al r0
12 #define ah r1
13 #endif
15 ENTRY(__ashldi3)
16 .global __aeabi_llsl
17 __aeabi_llsl:
19         subs    r3, r2, #32
20         rsb     ip, r2, #32
21         movmi   ah, ah, lsl r2
22         movpl   ah, al, lsl r3
23  ARM(   orrmi   ah, ah, al, lsr ip      )
24  THUMB( lsrmi   r3, al, ip              )
25  THUMB( orrmi   ah, ah, r3              )
26         mov     al, al, lsl r2
27         mov     pc, lr
29 .type __aeabi_llsl, %function
30 .size __aeabi_llsl, .-__aeabi_llsl
31 ENDPROC(__ashldi3)
33 #endif