linux/arch/sparc/lib/lshrdi3.S
<<
>>
Prefs
   1#include <linux/linkage.h>
   2
   3ENTRY(__lshrdi3)
   4        cmp     %o2, 0
   5        be      3f
   6         mov    0x20, %g2
   7
   8        sub     %g2, %o2, %g2
   9        cmp     %g2, 0
  10        bg      1f
  11         srl    %o0, %o2, %o4
  12
  13        clr     %o4
  14        neg     %g2
  15        b       2f
  16         srl    %o0, %g2, %o5
  171:
  18        sll  %o0, %g2, %g3
  19        srl  %o1, %o2, %g2
  20        or  %g2, %g3, %o5
  212:
  22        mov  %o4, %o0
  23        mov  %o5, %o1
  243:
  25        retl 
  26         nop 
  27ENDPROC(__lshrdi3)
  28