Linux Audio

Check our new training course

Loading...
v3.1
 1/*
 2 * ashldi3.S:	GCC emits these for certain drivers playing
 3 *		with long longs.
 4 *
 5 * Copyright (C) 1999 David S. Miller (davem@redhat.com)
 6 */
 7
 
 
 8	.text
 9	.align	4
10	.globl	__ashldi3
11__ashldi3:
12	cmp	%o2, 0
13	be	9f
14	 mov	0x20, %g2
15
16	sub	%g2, %o2, %g2
17	cmp	%g2, 0
18	bg	7f
19	 sll	%o0, %o2, %g3
20
21	neg	%g2
22	clr	%o5
23	b	8f
24	 sll	%o1, %g2, %o4
257:
26	srl	%o1, %g2, %g2
27	sll	%o1, %o2, %o5
28	or	%g3, %g2, %o4
298:
30	mov	%o4, %o0
31	mov	%o5, %o1
329:
33	retl
34	 nop
v3.15
 1/*
 2 * ashldi3.S:	GCC emits these for certain drivers playing
 3 *		with long longs.
 4 *
 5 * Copyright (C) 1999 David S. Miller (davem@redhat.com)
 6 */
 7
 8#include <linux/linkage.h>
 9
10	.text
11ENTRY(__ashldi3)
 
 
12	cmp	%o2, 0
13	be	9f
14	 mov	0x20, %g2
15
16	sub	%g2, %o2, %g2
17	cmp	%g2, 0
18	bg	7f
19	 sll	%o0, %o2, %g3
20
21	neg	%g2
22	clr	%o5
23	b	8f
24	 sll	%o1, %g2, %o4
257:
26	srl	%o1, %g2, %g2
27	sll	%o1, %o2, %o5
28	or	%g3, %g2, %o4
298:
30	mov	%o4, %o0
31	mov	%o5, %o1
329:
33	retl
34	 nop
35ENDPROC(__ashldi3)