Merge ../torvalds-2.6/
[linux-2.6] / arch / sparc / lib / lshrdi3.S
1 /* $Id: lshrdi3.S,v 1.1 1999/03/21 06:37:45 davem Exp $ */
2
3         .globl  __lshrdi3
4 __lshrdi3:
5         cmp     %o2, 0
6         be      3f
7          mov    0x20, %g2
8
9         sub     %g2, %o2, %g2
10         cmp     %g2, 0
11         bg      1f
12          srl    %o0, %o2, %o4
13
14         clr     %o4
15         neg     %g2
16         b       2f
17          srl    %o0, %g2, %o5
18 1:
19         sll  %o0, %g2, %g3
20         srl  %o1, %o2, %g2
21         or  %g2, %g3, %o5
22 2:
23         mov  %o4, %o0
24         mov  %o5, %o1
25 3:
26         retl 
27          nop