repo.or.cz
/
cris-mirror.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
Linux 3.11-rc3
[cris-mirror.git]
/
arch
/
sparc
/
lib
/
ashldi3.S
blob
86f60de07b0a3526b620e6f76a94233b6e42e393
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
10
.text
11
ENTRY(__ashldi3)
12
cmp %o2, 0
13
be 9f
14
mov 0x20, %g2
15
16
sub %g2, %o2, %g2
17
cmp %g2, 0
18
bg 7f
19
sll %o0, %o2, %g3
20
21
neg %g2
22
clr %o5
23
b 8f
24
sll %o1, %g2, %o4
25
7:
26
srl %o1, %g2, %g2
27
sll %o1, %o2, %o5
28
or %g3, %g2, %o4
29
8:
30
mov %o4, %o0
31
mov %o5, %o1
32
9:
33
retl
34
nop
35
ENDPROC(__ashldi3)