repo.or.cz
/
linux-2.6
/
openmoko-kernel
/
knife-kernel.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
Linux 2.6.26-rc5
[linux-2.6/openmoko-kernel/knife-kernel.git]
/
arch
/
sparc
/
math-emu
/
ashldi3.S
blob
7230ff5c7aa1d0e53e474b435ebe1d311e686425
1
/*
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)
11
C_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
27
1:
28
sll %o1, %o2, %o5
29
srl %o0, %o2, %g2
30
or %g2, %g3, %o4
31
2:
32
mov %o4, %o0
33
mov %o5, %o1
34
3:
35
jmpl %o7 + 8, %g0
36
nop