blob: 9c34c212cb0ee2f663bf87dc7ed729914fc640dd [file] [log] [blame]
Wolfgang Denkba94a1b2006-05-30 15:56:48 +02001/* Copyright 1995, 1996, 1998, 1999, 2000, 2003, 2004, 2005
2 Free Software Foundation, Inc.
3
Wolfgang Denk1a459662013-07-08 09:37:19 +02004 * SPDX-License-Identifier: GPL-2.0+
5 */
Wolfgang Denkba94a1b2006-05-30 15:56:48 +02006
Simon Glass1251d512015-06-02 11:08:20 -06007#include <linux/linkage.h>
8
Wolfgang Denkba94a1b2006-05-30 15:56:48 +02009#ifdef __ARMEB__
10#define al r1
11#define ah r0
12#else
13#define al r0
14#define ah r1
15#endif
16
17.globl __ashldi3
18__ashldi3:
Simon Glass1251d512015-06-02 11:08:20 -060019ENTRY(__aeabi_llsl)
Wolfgang Denkba94a1b2006-05-30 15:56:48 +020020
21 subs r3, r2, #32
22 rsb ip, r2, #32
23 movmi ah, ah, lsl r2
24 movpl ah, al, lsl r3
25 orrmi ah, ah, al, lsr ip
26 mov al, al, lsl r2
27 mov pc, lr
Simon Glass1251d512015-06-02 11:08:20 -060028ENDPROC(__aeabi_llsl)