Linux Audio

Check our new training course

Loading...
v6.2
 1/* SPDX-License-Identifier: GPL-2.0 */
 2/*
 3 * ashldi3.S:	GCC emits these for certain drivers playing
 4 *		with long longs.
 5 *
 6 * Copyright (C) 1999 David S. Miller (davem@redhat.com)
 7 */
 8
 9#include <linux/linkage.h>
10#include <asm/export.h>
11
12	.text
13ENTRY(__ashldi3)
14	cmp	%o2, 0
15	be	9f
16	 mov	0x20, %g2
17
18	sub	%g2, %o2, %g2
19	cmp	%g2, 0
20	bg	7f
21	 sll	%o0, %o2, %g3
22
23	neg	%g2
24	clr	%o5
25	b	8f
26	 sll	%o1, %g2, %o4
277:
28	srl	%o1, %g2, %g2
29	sll	%o1, %o2, %o5
30	or	%g3, %g2, %o4
318:
32	mov	%o4, %o0
33	mov	%o5, %o1
349:
35	retl
36	 nop
37ENDPROC(__ashldi3)
38EXPORT_SYMBOL(__ashldi3)
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)