/* Copyright 1995, 1996, 1998, 1999, 2000, 2003, 2004, 2005
   Free Software Foundation, Inc.

 * SPDX-License-Identifier:	GPL-2.0+
 */

#include "config.h"
#if defined(CONFIG_ARMV7M)
	.syntax	unified
	.arch	armv7-m
	.thumb
	.thumb_func
	.type 	__ashldi3, %function
	.type	__aeabi_llsl, %function
#endif
	
#ifdef __ARMEB__
#define al r1
#define ah r0
#else
#define al r0
#define ah r1
#endif

.globl __ashldi3
.globl	__aeabi_llsl
__ashldi3:
__aeabi_llsl:
#ifdef __thumb__
	lsl	ah, r2
	mov	r3, al
	lsl	al, r2
	mov	ip, r3
	sub	r2, #32
	lsl	r3, r2
	orr	ah, r3
	neg	r2, r2
	mov	r3, ip
	lsr	r3, r2
	orr	ah, r3
	mov	pc, lr
#else
	subs	r3, r2, #32
	rsb	ip, r2, #32
	itet	mi
	movmi	ah, ah, lsl r2
	movpl	ah, al, lsl r3
	orrmi	ah, ah, al, lsr ip
	mov	al, al, lsl r2
	mov	pc, lr
#endif
