repo.or.cz
/
linux
/
fpc-iii.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux/fpc-iii.git]
/
arch
/
sparc
/
lib
/
ashrdi3.S
blob
6eb8ba2dd50e0de2a80a4c91bf734ac24017fd1c
1
/*
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
#include <linux/linkage.h>
9
10
.text
11
ENTRY(__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
37
ENDPROC(__ashrdi3)