Linux 2.6.26-rc5
[linux-2.6/openmoko-kernel/knife-kernel.git] / arch / sparc / lib / lshrdi3.S
blob47a1354c1602fef85b8fcbdf41337fcc98278ddd
2         .globl  __lshrdi3
3 __lshrdi3:
4         cmp     %o2, 0
5         be      3f
6          mov    0x20, %g2
8         sub     %g2, %o2, %g2
9         cmp     %g2, 0
10         bg      1f
11          srl    %o0, %o2, %o4
13         clr     %o4
14         neg     %g2
15         b       2f
16          srl    %o0, %g2, %o5
18         sll  %o0, %g2, %g3
19         srl  %o1, %o2, %g2
20         or  %g2, %g3, %o5
22         mov  %o4, %o0
23         mov  %o5, %o1
25         retl 
26          nop