PageRenderTime 5ms CodeModel.GetById 2ms app.highlight 1ms RepoModel.GetById 1ms app.codeStats 0ms

/arch/sparc/math-emu/ashldi3.S

https://bitbucket.org/evzijst/gittest
Assembly | 36 lines | 30 code | 6 blank | 0 comment | 0 complexity | 7c2761401ed158f8addd8cb41397212d MD5 | raw file
 1/* $Id: ashldi3.S,v 1.1 1998/04/06 16:09:28 jj Exp $
 2 * ashldi3.S:	Math-emu code creates all kinds of references to
 3 *              this little routine on the sparc with gcc.
 4 *
 5 * Copyright (C) 1998 Jakub Jelinek(jj@ultra.linux.cz)
 6 */
 7
 8#include <asm/cprefix.h>
 9
10	.globl C_LABEL(__ashldi3)
11C_LABEL(__ashldi3):
12	tst	%o2
13	be	3f
14	 mov	32, %g2
15
16	sub	%g2, %o2, %g2
17
18	tst	%g2
19	bg	1f
20	 srl	%o1, %g2, %g3
21
22	clr	%o5
23	neg	%g2
24	ba	2f
25	 sll	%o1, %g2, %o4
26
271:
28	sll	%o1, %o2, %o5
29	srl	%o0, %o2, %g2
30	or	%g2, %g3, %o4
312:
32	mov	%o4, %o0
33	mov	%o5, %o1
343:
35	jmpl	%o7 + 8, %g0
36	 nop