1 
   2         .section        .text..SHmedia32,"ax"
   3         .align  2
   4         .global __udivdi3
   5 __udivdi3:
   6         shlri r3,1,r4
   7         nsb r4,r22
   8         shlld r3,r22,r6
   9         shlri r6,49,r5
  10         movi 0xffffffffffffbaf1,r21 
  11         sub r21,r5,r1
  12         mmulfx.w r1,r1,r4
  13         mshflo.w r1,r63,r1
  14         sub r63,r22,r20 
  15         mmulfx.w r5,r4,r4
  16         pta large_divisor,tr0
  17         addi r20,32,r9
  18         msub.w r1,r4,r1
  19         madd.w r1,r1,r1
  20         mmulfx.w r1,r1,r4
  21         shlri r6,32,r7
  22         bgt/u r9,r63,tr0 
  23         mmulfx.w r5,r4,r4
  24         shlri r2,32+14,r19
  25         addi r22,-31,r0
  26         msub.w r1,r4,r1
  27 
  28         mulu.l r1,r7,r4
  29         addi r1,-3,r5
  30         mulu.l r5,r19,r5
  31         sub r63,r4,r4 
  32         shlri r4,2,r4 
  33 
  34         muls.l r1,r4,r4 
  35         mulu.l r5,r3,r8
  36         mshalds.l r1,r21,r1
  37         shari r4,26,r4
  38         shlld r8,r0,r8
  39         add r1,r4,r1 
  40         sub r2,r8,r2
  41         
  42 
  43         shlri r2,22,r21
  44         mulu.l r21,r1,r21
  45         shlld r5,r0,r8
  46         addi r20,30-22,r0
  47         shlrd r21,r0,r21
  48         mulu.l r21,r3,r5
  49         add r8,r21,r8
  50         mcmpgt.l r21,r63,r21 
  51         addi r20,30,r0
  52         mshfhi.l r63,r21,r21
  53         sub r2,r5,r2
  54         andc r2,r21,r2
  55 
  56         
  57         mulu.l r2,r1,r7
  58         ptabs r18,tr0
  59         addi r2,1,r2
  60         shlrd r7,r0,r7
  61         mulu.l r7,r3,r5
  62         add r8,r7,r8
  63         sub r2,r3,r2
  64         cmpgt r2,r5,r5
  65         add r8,r5,r2
  66         
  67         blink tr0,r63
  68 
  69 large_divisor:
  70         mmulfx.w r5,r4,r4
  71         shlrd r2,r9,r25
  72         shlri r25,32,r8
  73         msub.w r1,r4,r1
  74 
  75         mulu.l r1,r7,r4
  76         addi r1,-3,r5
  77         mulu.l r5,r8,r5
  78         sub r63,r4,r4 
  79         shlri r4,2,r4 
  80 
  81         muls.l r1,r4,r4 
  82         shlri r5,14-1,r8
  83         mulu.l r8,r7,r5
  84         mshalds.l r1,r21,r1
  85         shari r4,26,r4
  86         add r1,r4,r1 
  87         sub r25,r5,r25
  88         
  89 
  90         shlri r25,22,r21
  91         mulu.l r21,r1,r21
  92         pta no_lo_adj,tr0
  93         addi r22,32,r0
  94         shlri r21,40,r21
  95         mulu.l r21,r7,r5
  96         add r8,r21,r8
  97         shlld r2,r0,r2
  98         sub r25,r5,r25
  99         bgtu/u r7,r25,tr0 
 100         addi r8,1,r8
 101         sub r25,r7,r25
 102 no_lo_adj:
 103         mextr4 r2,r25,r2
 104 
 105         
 106         mulu.l r8,r6,r5
 107         ptabs r18,tr0
 108         
 109         cmpgtu r5,r2,r5
 110         sub r8,r5,r2
 111         blink tr0,r63
 112         
 113 
 114 
 115 
 116 
 117 
 118 
 119 
 120 
 121