projects
/
linux-2.6
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
blame
|
history
|
raw
|
HEAD
Merge /pub/scm/linux/kernel/git/torvalds/linux-2.6
[linux-2.6]
/
arch
/
sparc
/
lib
/
ashrdi3.S
1
/* $Id: ashrdi3.S,v 1.4 1999/11/19 04:11:49 davem Exp $
2
* ashrdi3.S: The filesystem code creates all kinds of references to
3
* this little routine on the sparc with gcc.
4
*
5
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
6
*/
7
8
.text
9
.align 4
10
.globl __ashrdi3
11
__ashrdi3:
12
tst %o2
13
be 3f
14
or %g0, 32, %g2
15
16
sub %g2, %o2, %g2
17
18
tst %g2
19
bg 1f
20
sra %o0, %o2, %o4
21
22
sra %o0, 31, %o4
23
sub %g0, %g2, %g2
24
ba 2f
25
sra %o0, %g2, %o5
26
27
1:
28
sll %o0, %g2, %g3
29
srl %o1, %o2, %g2
30
or %g2, %g3, %o5
31
2:
32
or %g0, %o4, %o0
33
or %g0, %o5, %o1
34
3:
35
jmpl %o7 + 8, %g0
36
nop