Linux Audio

Check our new training course

Linux debugging, profiling, tracing and performance analysis training

Mar 24-27, 2025, special US time zones
Register
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
v4.10.11
 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#include <asm/export.h>
10
11	.text
12ENTRY(__ashldi3)
 
 
13	cmp	%o2, 0
14	be	9f
15	 mov	0x20, %g2
16
17	sub	%g2, %o2, %g2
18	cmp	%g2, 0
19	bg	7f
20	 sll	%o0, %o2, %g3
21
22	neg	%g2
23	clr	%o5
24	b	8f
25	 sll	%o1, %g2, %o4
267:
27	srl	%o1, %g2, %g2
28	sll	%o1, %o2, %o5
29	or	%g3, %g2, %o4
308:
31	mov	%o4, %o0
32	mov	%o5, %o1
339:
34	retl
35	 nop
36ENDPROC(__ashldi3)
37EXPORT_SYMBOL(__ashldi3)