Merge tag 'linux-kselftest-4.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel...
[sfrench/cifs-2.6.git] / arch / sparc / lib / lshrdi3.S
1 #include <linux/linkage.h>
2 #include <asm/export.h>
3
4 ENTRY(__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 
28 ENDPROC(__lshrdi3)
29 EXPORT_SYMBOL(__lshrdi3)