#if defined(__sh__)

	.section .text

################################
# For 32bit shift

	.globl	___ashlsi3_r0
	.type	___ashlsi3_r0, @function
___ashlsi3_r0:
	sts.l	pr, @-r15
	mov	r0, r5
	mov.l	_ashlsi3_addr, r0
	jsr	@r0
	nop
	lds.l	@r15+, pr
	rts
	nop

	.globl	___lshlsi3_r0
	.type	___lshlsi3_r0, @function
___lshlsi3_r0:
	sts.l	pr, @-r15
	mov	r0, r5
	mov.l	_lshlsi3_addr, r0
	jsr	@r0
	nop
	lds.l	@r15+, pr
	rts
	nop

	.globl	___ashrsi3_r0
	.type	___ashrsi3_r0, @function
___ashrsi3_r0:
	sts.l	pr, @-r15
	mov	r0, r5
	mov.l	_ashrsi3_addr, r0
	jsr	@r0
	nop
	lds.l	@r15+, pr
	rts
	nop

	.globl	___lshrsi3_r0
	.type	___lshrsi3_r0, @function
___lshrsi3_r0:
	sts.l	pr, @-r15
	mov	r0, r5
	mov.l	_lshrsi3_addr, r0
	jsr	@r0
	nop
	lds.l	@r15+, pr
	rts
	nop

.align	4
_ashlsi3_addr:
	.long	___ashlsi3
_lshlsi3_addr:
	.long	___lshlsi3
_ashrsi3_addr:
	.long	___ashrsi3
_lshrsi3_addr:
	.long	___lshrsi3
#endif
