[BACK]Return to ashldi3.S CVS log [TXT][DIR] Up to [Development] / linux-2.6-xfs / arch / sparc / lib

File: [Development] / linux-2.6-xfs / arch / sparc / lib / ashldi3.S (download)

Revision 1.3, Mon Aug 4 17:03:13 2008 UTC (9 years, 2 months ago) by lachlan.longdrop.melbourne.sgi.com
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +1 -1 lines

Merge up to 2.6.26
Merge of 2.6.x-xfs-melb:linux:31804b by kenmcd.

/*
 * ashldi3.S:	GCC emits these for certain drivers playing
 *		with long longs.
 *
 * Copyright (C) 1999 David S. Miller (davem@redhat.com)
 */

	.text
	.align	4
	.globl	__ashldi3
__ashldi3:
	cmp	%o2, 0
	be	9f
	 mov	0x20, %g2

	sub	%g2, %o2, %g2
	cmp	%g2, 0
	bg	7f
	 sll	%o0, %o2, %g3

	neg	%g2
	clr	%o5
	b	8f
	 sll	%o1, %g2, %o4
7:
	srl	%o1, %g2, %g2
	sll	%o1, %o2, %o5
	or	%g3, %g2, %o4
8:
	mov	%o4, %o0
	mov	%o5, %o1
9:
	retl
	 nop