home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / lisp / gcl-1.000 / gcl-1 / gcl-1.0 / mp / mpi-sparc.s < prev    next >
Encoding:
Text File  |  1994-04-29  |  43.8 KB  |  2,806 lines

  1. gcc2_compiled.:
  2. ___gnu_compiled_c:
  3. .text
  4.     .align 4
  5.     .global _mulsi
  6.     .proc    0105
  7. _mulsi:
  8.     !#PROLOGUE# 0
  9.     save %sp,-112,%sp
  10.     !#PROLOGUE# 1
  11.     mov %i0,%l0
  12.     ld [%i1+4],%o1
  13.     sra %o1,24,%l2
  14.     sethi %hi(65535),%o0
  15.     or %o0,%lo(65535),%o0
  16.     cmp %l0,0
  17.     be L3
  18.     and %o1,%o0,%l1
  19.     cmp %l2,0
  20.     bne L2
  21.     cmp %l0,0
  22. L3:
  23.     sethi %hi(_gzero),%o0
  24.     b L11
  25.     ld [%o0+%lo(_gzero)],%i0
  26. L2:
  27.     bge L4
  28.     nop
  29.     subcc %g0,%l0,%l0
  30.     bpos L4
  31.     sub %g0,%l2,%l2
  32.     call _stoi,0
  33.     sethi %hi(-2147483648),%o0
  34.     call _mulii,0
  35.     mov %i1,%o1
  36.     b L11
  37.     mov %o0,%i0
  38. L4:
  39.     call _cgeti,0
  40.     add %l1,1,%o0
  41.     mov %o0,%i0
  42.     mov 0,%o2
  43.     sll %l1,2,%o0
  44.     add %i1,%o0,%i1
  45.     add %i0,%o0,%g2
  46.     addcc %l1,-2,%o3
  47.     be L7
  48.     add %g2,4,%g2
  49. L8:
  50.     add %g2,-4,%g2
  51.     mov %o2,%o1
  52.     add %i1,-4,%i1
  53.     mov %l0,%o0
  54.     ld [%i1],%g3
  55.      
  56.         or      %o0,%g3,%o4      
  57.         mov     %o0,%y
  58.         andncc  %o4,0xfff,%g0
  59.         be      2f
  60.         andcc   %g0,%g0,%o4
  61.         mulscc  %o4,%g3,%o4
  62.         mulscc  %o4,%g3,%o4
  63.         mulscc  %o4,%g3,%o4
  64.         mulscc  %o4,%g3,%o4
  65.         mulscc  %o4,%g3,%o4
  66.         mulscc  %o4,%g3,%o4
  67.         mulscc  %o4,%g3,%o4
  68.         mulscc  %o4,%g3,%o4
  69.         mulscc  %o4,%g3,%o4
  70.         mulscc  %o4,%g3,%o4
  71.         mulscc  %o4,%g3,%o4
  72.         mulscc  %o4,%g3,%o4
  73.         mulscc  %o4,%g3,%o4
  74.         mulscc  %o4,%g3,%o4
  75.         mulscc  %o4,%g3,%o4
  76.         mulscc  %o4,%g3,%o4
  77.         mulscc  %o4,%g3,%o4
  78.         mulscc  %o4,%g3,%o4
  79.         mulscc  %o4,%g3,%o4
  80.         mulscc  %o4,%g3,%o4
  81.         mulscc  %o4,%g3,%o4
  82.         mulscc  %o4,%g3,%o4
  83.         mulscc  %o4,%g3,%o4
  84.         mulscc  %o4,%g3,%o4
  85.         mulscc  %o4,%g3,%o4
  86.         mulscc  %o4,%g3,%o4
  87.         mulscc  %o4,%g3,%o4
  88.         mulscc  %o4,%g3,%o4
  89.         mulscc  %o4,%g3,%o4
  90.         mulscc  %o4,%g3,%o4
  91.         mulscc  %o4,%g3,%o4
  92.         mulscc  %o4,%g3,%o4
  93.         mulscc  %o4,%g0,%o4
  94.         tst     %g3
  95.         bl,a    1f
  96.         add     %o4,%o0,%o4
  97. 1:      mov     %o4,%o2
  98.         b       3f 
  99.         rd      %y,%o0
  100. 2:      clr     %o2
  101.         mulscc  %o4,%g3,%o4
  102.         mulscc  %o4,%g3,%o4
  103.         mulscc  %o4,%g3,%o4
  104.         mulscc  %o4,%g3,%o4
  105.         mulscc  %o4,%g3,%o4
  106.         mulscc  %o4,%g3,%o4
  107.         mulscc  %o4,%g3,%o4
  108.         mulscc  %o4,%g3,%o4
  109.         mulscc  %o4,%g3,%o4
  110.         mulscc  %o4,%g3,%o4
  111.         mulscc  %o4,%g3,%o4
  112.         mulscc  %o4,%g3,%o4
  113.         mulscc  %o4,%g0,%o4
  114.         rd      %y,%o5
  115.         sll     %o4,12,%o4
  116.         srl     %o5,20,%o5
  117.         or      %o5,%o4,%o0
  118. 3:       
  119.  
  120.     addcc %o1,%o0,%g3
  121.     addx %o2,%g0,%o2
  122.     addcc %o3,-1,%o3
  123.     bne L8
  124.     st %g3,[%g2]
  125. L7:
  126.     cmp %o2,0
  127.     be L9
  128.     sethi %hi(-65536),%o1
  129.     st %o2,[%g2-4]
  130.     ld [%i0+4],%o0
  131.     and %o0,%o1,%o0
  132.     add %o0,%l1,%o0
  133.     b L12
  134.     add %o0,1,%o0
  135. L9:
  136.     sethi %hi(_avma),%o1
  137.     ld [%o1+%lo(_avma)],%o0
  138.     add %o0,4,%o0
  139.     st %o0,[%o1+%lo(_avma)]
  140.     ld [%i0],%o0
  141.     add %o0,-1,%o0
  142.     st %o0,[%i0+4]
  143.     add %i0,4,%i0
  144.     ld [%i0+4],%o0
  145.     sethi %hi(-65536),%o1
  146.     and %o0,%o1,%o0
  147.     add %o0,%l1,%o0
  148. L12:
  149.     st %o0,[%i0+4]
  150.     ld [%i0+4],%o0
  151.     sethi %hi(-16777216),%o1
  152.     andn %o0,%o1,%o1
  153.     sll %l2,24,%o0
  154.     add %o1,%o0,%o1
  155.     st %o1,[%i0+4]
  156. L11:
  157.     ret
  158.     restore
  159.     .align 4
  160.     .global _expi
  161.     .proc    04
  162. _expi:
  163.     !#PROLOGUE# 0
  164.     save %sp,-112,%sp
  165.     !#PROLOGUE# 1
  166.     ld [%i0+4],%o1
  167.     sethi %hi(65535),%o0
  168.     or %o0,%lo(65535),%o0
  169.     and %o1,%o0,%l0
  170.     cmp %l0,2
  171.     be,a L15
  172.     sethi %hi(-8388608),%i0
  173.     call _bfffo,0
  174.     ld [%i0+8],%o0
  175.     add %l0,-2,%i0
  176.     sll %i0,5,%i0
  177.     sub %i0,%o0,%i0
  178.     add %i0,-1,%i0
  179. L15:
  180.     ret
  181.     restore
  182.     .align 4
  183.     .global _addsi
  184.     .proc    0105
  185. _addsi:
  186.     !#PROLOGUE# 0
  187.     save %sp,-112,%sp
  188.     !#PROLOGUE# 1
  189.     orcc %i0,%g0,%l1
  190.     bne,a L17
  191.     ldsb [%i1+4],%l3
  192.     call _icopy,0
  193.     mov %i1,%o0
  194.     b L59
  195.     mov %o0,%i0
  196. L17:
  197.     cmp %l3,0
  198.     bne L18
  199.     cmp %l1,0
  200.     call _stoi,0
  201.     mov %l1,%o0
  202.     b L59
  203.     mov %o0,%i0
  204. L18:
  205.     bge,a L21
  206.     mov 1,%l4
  207.     subcc %g0,%l1,%l1
  208.     bpos L21
  209.     mov -1,%l4
  210.     sethi %hi(_MOST_NEGS),%o0
  211.     or %o0,%lo(_MOST_NEGS),%o0
  212.     call _addii,0
  213.     mov %i1,%o1
  214.     b L59
  215.     mov %o0,%i0
  216. L21:
  217.     ld [%i1+4],%o1
  218.     sethi %hi(65535),%o0
  219.     or %o0,%lo(65535),%o0
  220.     cmp %l4,%l3
  221.     bne L22
  222.     and %o1,%o0,%l0
  223.     mov %l1,%o1
  224.     sll %l0,2,%l2
  225.     add %l2,%i1,%o0
  226.     ld [%o0-4],%o0
  227.     add %o1,%o0,%o0
  228.     cmp %o0,%o1
  229.     bgeu L23
  230.     mov %o0,%l1
  231.     call _cgeti,0
  232.     add %l0,1,%o0
  233.     mov %o0,%i0
  234.     add %l0,-1,%o2
  235.     cmp %o2,2
  236.     ble L64
  237.     st %l1,[%i0+%l2]
  238.     sll %o2,2,%o0
  239.     mov %o0,%o1
  240.     b L60
  241.     add %o0,%i1,%o0
  242. L27:
  243.     cmp %o2,2
  244.     ble L64
  245.     st %g0,[%i0+%o1]
  246.     sll %o2,2,%o1
  247.     add %o1,%i1,%o0
  248. L60:
  249.     ld [%o0-4],%o0
  250.     cmp %o0,-1
  251.     be,a L27
  252.     add %o2,-1,%o2
  253.     cmp %o2,2
  254. L64:
  255.     ble L28
  256.     sll %o2,2,%o1
  257.     add %o1,%i1,%o0
  258.     ld [%o0-4],%o0
  259.     add %o0,1,%o0
  260.     b L61
  261.     st %o0,[%i0+%o1]
  262. L31:
  263.     add %o0,%i1,%o1
  264.     ld [%o1-4],%o1
  265.     st %o1,[%i0+%o0]
  266. L61:
  267.     add %o2,-1,%o2
  268.     cmp %o2,2
  269.     bg L31
  270.     sll %o2,2,%o0
  271.     ld [%i0],%o0
  272.     add %o0,-1,%o0
  273.     st %o0,[%i0+4]
  274.     st %o0,[%i0+8]
  275.     add %i0,4,%i0
  276.     sethi %hi(_avma),%o1
  277.     ld [%o1+%lo(_avma)],%o0
  278.     add %o0,4,%o0
  279.     b L33
  280.     st %o0,[%o1+%lo(_avma)]
  281. L28:
  282.     mov 1,%o0
  283.     st %o0,[%i0+8]
  284.     ld [%i0],%o0
  285.     b L33
  286.     st %o0,[%i0+4]
  287. L23:
  288.     call _cgeti,0
  289.     mov %l0,%o0
  290.     mov %o0,%i0
  291.     sll %l0,2,%o0
  292.     add %o0,%i0,%o0
  293.     st %l1,[%o0-4]
  294.     mov 1,%o2
  295.     add %l0,-1,%o0
  296.     cmp %o2,%o0
  297.     bge L33
  298.     mov %o0,%o3
  299. L37:
  300.     sll %o2,2,%o1
  301.     ld [%i1+%o1],%o0
  302.     add %o2,1,%o2
  303.     cmp %o2,%o3
  304.     bl L37
  305.     st %o0,[%i0+%o1]
  306. L33:
  307.     ld [%i0+4],%o0
  308.     sethi %hi(-16777216),%o1
  309.     andn %o0,%o1,%o1
  310.     sll %l4,24,%o0
  311.     add %o1,%o0,%o1
  312.     b L59
  313.     st %o1,[%i0+4]
  314. L22:
  315.     cmp %l0,3
  316.     bne L39
  317.     sll %l0,2,%l2
  318.     ld [%i1+8],%o0
  319.     cmp %o0,%l1
  320.     bleu L40
  321.     nop
  322.     call _cgeti,0
  323.     mov 3,%o0
  324.     mov %o0,%i0
  325.     sll %l3,24,%o0
  326.     add %o0,3,%o0
  327.     st %o0,[%i0+4]
  328.     ld [%i1+8],%o0
  329.     sub %o0,%l1,%o0
  330.     b L59
  331.     st %o0,[%i0+8]
  332. L40:
  333.     bne L41
  334.     sethi %hi(_gzero),%o0
  335.     b L59
  336.     ld [%o0+%lo(_gzero)],%i0
  337. L41:
  338.     call _cgeti,0
  339.     mov 3,%o0
  340.     mov %o0,%i0
  341.     sub %g0,%l3,%o0
  342.     sll %o0,24,%o0
  343.     add %o0,3,%o0
  344.     st %o0,[%i0+4]
  345.     ld [%i1+8],%o0
  346.     sub %l1,%o0,%o0
  347.     b L59
  348.     st %o0,[%i0+8]
  349. L39:
  350.     add %l2,%i1,%o0
  351.     ld [%o0-4],%o1
  352.     mov %l1,%o0
  353.     cmp %o1,%o0
  354.     bgeu L42
  355.     sub %o1,%o0,%l1
  356.     call _cgeti,0
  357.     mov %l0,%o0
  358.     mov %o0,%i0
  359.     add %l2,%i0,%o0
  360.     st %l1,[%o0-4]
  361.     add %l0,-2,%o2
  362.     sll %o2,2,%o0
  363.     mov %o0,%o1
  364.     ld [%i1+%o0],%o0
  365.     cmp %o0,0
  366.     bne,a L62
  367.     sll %o2,2,%o1
  368.     mov -1,%o3
  369.     st %o3,[%i0+%o1]
  370. L63:
  371.     add %o2,-1,%o2
  372.     sll %o2,2,%o1
  373.     ld [%i1+%o1],%o0
  374.     cmp %o0,0
  375.     be,a L63
  376.     st %o3,[%i0+%o1]
  377.     sll %o2,2,%o1
  378. L62:
  379.     ld [%i1+%o1],%o0
  380.     add %o0,-1,%o0
  381.     cmp %o2,2
  382.     bg L48
  383.     st %o0,[%i0+%o1]
  384.     cmp %o0,0
  385.     be,a L47
  386.     ld [%i0],%o0
  387. L48:
  388.     add %o2,-1,%o2
  389.     cmp %o2,0
  390.     ble L59
  391.     nop
  392. L52:
  393.     sll %o2,2,%o1
  394.     ld [%i1+%o1],%o0
  395.     add %o2,-1,%o2
  396.     cmp %o2,0
  397.     bg L52
  398.     st %o0,[%i0+%o1]
  399.     b,a L59
  400. L47:
  401.     add %o0,-1,%o0
  402.     st %o0,[%i0+4]
  403.     st %o0,[%i0+8]
  404.     add %i0,4,%i0
  405.     sethi %hi(_avma),%o1
  406.     ld [%o1+%lo(_avma)],%o0
  407.     add %o0,4,%o0
  408.     st %o0,[%o1+%lo(_avma)]
  409.     ld [%i0+4],%o1
  410.     sethi %hi(-16777216),%o0
  411.     andn %o1,%o0,%o0
  412.     sll %l3,24,%o1
  413.     add %o0,%o1,%o0
  414.     b L59
  415.     st %o0,[%i0+4]
  416. L42:
  417.     call _cgeti,0
  418.     mov %l0,%o0
  419.     mov %o0,%i0
  420.     sll %l0,2,%o0
  421.     add %o0,%i0,%o0
  422.     st %l1,[%o0-4]
  423.     mov 1,%o2
  424.     add %l0,-1,%o0
  425.     cmp %o2,%o0
  426.     bge L59
  427.     mov %o0,%o3
  428. L58:
  429.     sll %o2,2,%o1
  430.     ld [%i1+%o1],%o0
  431.     add %o2,1,%o2
  432.     cmp %o2,%o3
  433.     bl L58
  434.     st %o0,[%i0+%o1]
  435. L59:
  436.     ret
  437.     restore
  438.     .align 4
  439.     .global _addii
  440.     .proc    0105
  441. _addii:
  442.     !#PROLOGUE# 0
  443.     save %sp,-112,%sp
  444.     !#PROLOGUE# 1
  445.     mov %i0,%l0
  446.     ld [%l0+4],%o0
  447.     sethi %hi(65535),%o1
  448.     or %o1,%lo(65535),%o1
  449.     and %o0,%o1,%l1
  450.     ld [%i1+4],%o0
  451.     and %o0,%o1,%l2
  452.     cmp %l1,%l2
  453.     bge,a L188
  454.     ldsb [%i1+4],%o5
  455.     mov %i1,%l0
  456.     mov %i0,%i1
  457.     mov %l1,%l3
  458.     mov %l2,%l1
  459.     mov %l3,%l2
  460.     ldsb [%i1+4],%o5
  461. L188:
  462.     cmp %o5,0
  463.     bne,a L67
  464.     ldsb [%l0+4],%l3
  465.     call _icopy,0
  466.     mov %l0,%o0
  467.     b L185
  468.     mov %o0,%i0
  469. L67:
  470.     cmp %l3,%o5
  471.     bne L68
  472.     cmp %l1,%l2
  473.     call _cgeti,0
  474.     add %l1,1,%o0
  475.     mov %o0,%i0
  476.     mov 0,%o2
  477.     sll %l1,2,%o0
  478.     add %i0,%o0,%o4
  479.     add %o4,4,%o4
  480.     add %l0,%o0,%o3
  481.     sll %l2,2,%o0
  482.     add %i1,%o0,%o1
  483.     add %l2,-2,%o5
  484.     sethi %hi(L106),%o0
  485.     or %o0,%lo(L106),%g2
  486.     add %o5,-1,%o0
  487. L204:
  488.     cmp %o0,15
  489.     bgu L74
  490.     sll %o0,2,%o0
  491.     ld [%o0+%g2],%o0
  492.     jmp %o0
  493.     nop
  494. L106:
  495.     .word    L104
  496.     .word    L102
  497.     .word    L100
  498.     .word    L98
  499.     .word    L96
  500.     .word    L94
  501.     .word    L92
  502.     .word    L90
  503.     .word    L88
  504.     .word    L86
  505.     .word    L84
  506.     .word    L82
  507.     .word    L80
  508.     .word    L78
  509.     .word    L76
  510.     .word    L74
  511. L74:
  512.     subcc %g0,%o2,%g0
  513.     b L75
  514.     add %o4,-4,%o4
  515. L76:
  516.     subcc %g0,%o2,%g0
  517.     b L189
  518.     add %o4,-4,%o4
  519. L78:
  520.     subcc %g0,%o2,%g0
  521.     b L190
  522.     add %o4,-4,%o4
  523. L80:
  524.     subcc %g0,%o2,%g0
  525.     b L191
  526.     add %o4,-4,%o4
  527. L82:
  528.     subcc %g0,%o2,%g0
  529.     b L192
  530.     add %o4,-4,%o4
  531. L84:
  532.     subcc %g0,%o2,%g0
  533.     b L193
  534.     add %o4,-4,%o4
  535. L86:
  536.     subcc %g0,%o2,%g0
  537.     b L194
  538.     add %o4,-4,%o4
  539. L88:
  540.     subcc %g0,%o2,%g0
  541.     b L195
  542.     add %o4,-4,%o4
  543. L90:
  544.     subcc %g0,%o2,%g0
  545.     b L196
  546.     add %o4,-4,%o4
  547. L92:
  548.     subcc %g0,%o2,%g0
  549.     b L197
  550.     add %o4,-4,%o4
  551. L94:
  552.     subcc %g0,%o2,%g0
  553.     b L198
  554.     add %o4,-4,%o4
  555. L96:
  556.     subcc %g0,%o2,%g0
  557.     b L199
  558.     add %o4,-4,%o4
  559. L98:
  560.     subcc %g0,%o2,%g0
  561.     b L200
  562.     add %o4,-4,%o4
  563. L100:
  564.     subcc %g0,%o2,%g0
  565.     b L201
  566.     add %o4,-4,%o4
  567. L102:
  568.     subcc %g0,%o2,%g0
  569.     b L202
  570.     add %o4,-4,%o4
  571. L104:
  572.     subcc %g0,%o2,%g0
  573.     b L203
  574.     add %o4,-4,%o4
  575. L75:
  576.     add %o3,-4,%o3
  577.     add %o1,-4,%o1
  578.     ld [%o3],%l4
  579.     ld [%o1],%g3
  580.     addxcc %l4,%g3,%l4
  581.     st %l4,[%o4]
  582.     add %o4,-4,%o4
  583. L189:
  584.     add %o3,-4,%o3
  585.     add %o1,-4,%o1
  586.     ld [%o3],%l4
  587.     ld [%o1],%g3
  588.     addxcc %l4,%g3,%l4
  589.     st %l4,[%o4]
  590.     add %o4,-4,%o4
  591. L190:
  592.     add %o3,-4,%o3
  593.     add %o1,-4,%o1
  594.     ld [%o3],%l4
  595.     ld [%o1],%g3
  596.     addxcc %l4,%g3,%l4
  597.     st %l4,[%o4]
  598.     add %o4,-4,%o4
  599. L191:
  600.     add %o3,-4,%o3
  601.     add %o1,-4,%o1
  602.     ld [%o3],%l4
  603.     ld [%o1],%g3
  604.     addxcc %l4,%g3,%l4
  605.     st %l4,[%o4]
  606.     add %o4,-4,%o4
  607. L192:
  608.     add %o3,-4,%o3
  609.     add %o1,-4,%o1
  610.     ld [%o3],%l4
  611.     ld [%o1],%g3
  612.     addxcc %l4,%g3,%l4
  613.     st %l4,[%o4]
  614.     add %o4,-4,%o4
  615. L193:
  616.     add %o3,-4,%o3
  617.     add %o1,-4,%o1
  618.     ld [%o3],%l4
  619.     ld [%o1],%g3
  620.     addxcc %l4,%g3,%l4
  621.     st %l4,[%o4]
  622.     add %o4,-4,%o4
  623. L194:
  624.     add %o3,-4,%o3
  625.     add %o1,-4,%o1
  626.     ld [%o3],%l4
  627.     ld [%o1],%g3
  628.     addxcc %l4,%g3,%l4
  629.     st %l4,[%o4]
  630.     add %o4,-4,%o4
  631. L195:
  632.     add %o3,-4,%o3
  633.     add %o1,-4,%o1
  634.     ld [%o3],%l4
  635.     ld [%o1],%g3
  636.     addxcc %l4,%g3,%l4
  637.     st %l4,[%o4]
  638.     add %o4,-4,%o4
  639. L196:
  640.     add %o3,-4,%o3
  641.     add %o1,-4,%o1
  642.     ld [%o3],%l4
  643.     ld [%o1],%g3
  644.     addxcc %l4,%g3,%l4
  645.     st %l4,[%o4]
  646.     add %o4,-4,%o4
  647. L197:
  648.     add %o3,-4,%o3
  649.     add %o1,-4,%o1
  650.     ld [%o3],%l4
  651.     ld [%o1],%g3
  652.     addxcc %l4,%g3,%l4
  653.     st %l4,[%o4]
  654.     add %o4,-4,%o4
  655. L198:
  656.     add %o3,-4,%o3
  657.     add %o1,-4,%o1
  658.     ld [%o3],%l4
  659.     ld [%o1],%g3
  660.     addxcc %l4,%g3,%l4
  661.     st %l4,[%o4]
  662.     add %o4,-4,%o4
  663. L199:
  664.     add %o3,-4,%o3
  665.     add %o1,-4,%o1
  666.     ld [%o3],%l4
  667.     ld [%o1],%g3
  668.     addxcc %l4,%g3,%l4
  669.     st %l4,[%o4]
  670.     add %o4,-4,%o4
  671. L200:
  672.     add %o3,-4,%o3
  673.     add %o1,-4,%o1
  674.     ld [%o3],%l4
  675.     ld [%o1],%g3
  676.     addxcc %l4,%g3,%l4
  677.     st %l4,[%o4]
  678.     add %o4,-4,%o4
  679. L201:
  680.     add %o3,-4,%o3
  681.     add %o1,-4,%o1
  682.     ld [%o3],%l4
  683.     ld [%o1],%g3
  684.     addxcc %l4,%g3,%l4
  685.     st %l4,[%o4]
  686.     add %o4,-4,%o4
  687. L202:
  688.     add %o3,-4,%o3
  689.     add %o1,-4,%o1
  690.     ld [%o3],%l4
  691.     ld [%o1],%g3
  692.     addxcc %l4,%g3,%l4
  693.     st %l4,[%o4]
  694.     add %o4,-4,%o4
  695. L203:
  696.     add %o3,-4,%o3
  697.     add %o1,-4,%o1
  698.     ld [%o3],%l4
  699.     ld [%o1],%g3
  700.     addxcc %l4,%g3,%l4
  701.     st %l4,[%o4]
  702.     addx %g0,%g0,%o2
  703.     add %o5,-16,%o5
  704.     cmp %o5,0
  705.     bg L204
  706.     add %o5,-1,%o0
  707.     cmp %o2,0
  708.     be L107
  709.     add %l0,8,%o2
  710. L108:
  711.     add %o3,-4,%o3
  712.     cmp %o3,%o2
  713.     blu L109
  714.     mov %o3,%o1
  715.     ld [%o3],%o0
  716.     cmp %o0,-1
  717.     bne,a L110
  718.     add %o4,-4,%o4
  719.     add %o4,-4,%o4
  720.     b L108
  721.     st %g0,[%o4]
  722. L110:
  723.     ld [%o1],%o0
  724.     b L187
  725.     add %o0,1,%o0
  726. L114:
  727.     add %o4,-4,%o4
  728.     ld [%o1],%o0
  729. L187:
  730.     st %o0,[%o4]
  731.     add %o3,-4,%o3
  732.     cmp %o3,%o2
  733.     bgeu L114
  734.     mov %o3,%o1
  735.     b L205
  736.     ld [%i0],%o0
  737. L109:
  738.     mov 1,%o0
  739.     st %o0,[%i0+8]
  740.     ld [%l0+4],%o0
  741.     add %o0,1,%o0
  742.     b L185
  743.     st %o0,[%i0+4]
  744. L107:
  745.     subcc %l1,%l2,%o2
  746.     be,a L205
  747.     ld [%i0],%o0
  748. L119:
  749.     add %o4,-4,%o4
  750.     add %o3,-4,%o3
  751.     ld [%o3],%o0
  752.     addcc %o2,-1,%o2
  753.     bne L119
  754.     st %o0,[%o4]
  755.     ld [%i0],%o0
  756. L205:
  757.     add %o0,-1,%o0
  758.     st %o0,[%i0+4]
  759.     ld [%l0+4],%o0
  760.     st %o0,[%i0+8]
  761.     add %i0,4,%i0
  762.     sethi %hi(_avma),%o1
  763.     ld [%o1+%lo(_avma)],%o0
  764.     add %o0,4,%o0
  765.     b L185
  766.     st %o0,[%o1+%lo(_avma)]
  767. L68:
  768.     bne L121
  769.     add %l0,8,%o3
  770.     addcc %l1,-2,%o2
  771.     be L129
  772.     add %i1,8,%o1
  773.     ld [%o3],%o4
  774. L206:
  775.     add %o3,4,%o3
  776.     ld [%o1],%o0
  777.     cmp %o0,%o4
  778.     bgu L186
  779.     add %o1,4,%o1
  780.     cmp %o4,%o0
  781.     bgu L121
  782.     addcc %o2,-1,%o2
  783.     bne,a L206
  784.     ld [%o3],%o4
  785. L129:
  786.     sethi %hi(_gzero),%o0
  787.     b L185
  788.     ld [%o0+%lo(_gzero)],%i0
  789. L186:
  790.     mov %l0,%i0
  791.     mov %i1,%l0
  792.     mov %i0,%i1
  793.     mov %o5,%l3
  794. L121:
  795.     call _cgeti,0
  796.     mov %l1,%o0
  797.     mov %o0,%i0
  798.     mov 0,%o2
  799.     sll %l1,2,%o0
  800.     add %l0,%o0,%o3
  801.     sll %l2,2,%o1
  802.     add %i1,%o1,%o1
  803.     add %i0,%o0,%o4
  804.     add %l2,-2,%o5
  805.     sethi %hi(L167),%o0
  806.     or %o0,%lo(L167),%g2
  807.     add %o5,-1,%o0
  808. L222:
  809.     cmp %o0,15
  810.     bgu L135
  811.     sll %o0,2,%o0
  812.     ld [%o0+%g2],%o0
  813.     jmp %o0
  814.     nop
  815. L167:
  816.     .word    L165
  817.     .word    L163
  818.     .word    L161
  819.     .word    L159
  820.     .word    L157
  821.     .word    L155
  822.     .word    L153
  823.     .word    L151
  824.     .word    L149
  825.     .word    L147
  826.     .word    L145
  827.     .word    L143
  828.     .word    L141
  829.     .word    L139
  830.     .word    L137
  831.     .word    L135
  832. L135:
  833.     subcc %g0,%o2,%g0
  834.     b L136
  835.     add %o4,-4,%o4
  836. L137:
  837.     subcc %g0,%o2,%g0
  838.     b L207
  839.     add %o4,-4,%o4
  840. L139:
  841.     subcc %g0,%o2,%g0
  842.     b L208
  843.     add %o4,-4,%o4
  844. L141:
  845.     subcc %g0,%o2,%g0
  846.     b L209
  847.     add %o4,-4,%o4
  848. L143:
  849.     subcc %g0,%o2,%g0
  850.     b L210
  851.     add %o4,-4,%o4
  852. L145:
  853.     subcc %g0,%o2,%g0
  854.     b L211
  855.     add %o4,-4,%o4
  856. L147:
  857.     subcc %g0,%o2,%g0
  858.     b L212
  859.     add %o4,-4,%o4
  860. L149:
  861.     subcc %g0,%o2,%g0
  862.     b L213
  863.     add %o4,-4,%o4
  864. L151:
  865.     subcc %g0,%o2,%g0
  866.     b L214
  867.     add %o4,-4,%o4
  868. L153:
  869.     subcc %g0,%o2,%g0
  870.     b L215
  871.     add %o4,-4,%o4
  872. L155:
  873.     subcc %g0,%o2,%g0
  874.     b L216
  875.     add %o4,-4,%o4
  876. L157:
  877.     subcc %g0,%o2,%g0
  878.     b L217
  879.     add %o4,-4,%o4
  880. L159:
  881.     subcc %g0,%o2,%g0
  882.     b L218
  883.     add %o4,-4,%o4
  884. L161:
  885.     subcc %g0,%o2,%g0
  886.     b L219
  887.     add %o4,-4,%o4
  888. L163:
  889.     subcc %g0,%o2,%g0
  890.     b L220
  891.     add %o4,-4,%o4
  892. L165:
  893.     subcc %g0,%o2,%g0
  894.     b L221
  895.     add %o4,-4,%o4
  896. L136:
  897.     add %o3,-4,%o3
  898.     add %o1,-4,%o1
  899.     ld [%o3],%l4
  900.     ld [%o1],%g3
  901.     subxcc %l4,%g3,%l4
  902.     st %l4,[%o4]
  903.     add %o4,-4,%o4
  904. L207:
  905.     add %o3,-4,%o3
  906.     add %o1,-4,%o1
  907.     ld [%o3],%l4
  908.     ld [%o1],%g3
  909.     subxcc %l4,%g3,%l4
  910.     st %l4,[%o4]
  911.     add %o4,-4,%o4
  912. L208:
  913.     add %o3,-4,%o3
  914.     add %o1,-4,%o1
  915.     ld [%o3],%l4
  916.     ld [%o1],%g3
  917.     subxcc %l4,%g3,%l4
  918.     st %l4,[%o4]
  919.     add %o4,-4,%o4
  920. L209:
  921.     add %o3,-4,%o3
  922.     add %o1,-4,%o1
  923.     ld [%o3],%l4
  924.     ld [%o1],%g3
  925.     subxcc %l4,%g3,%l4
  926.     st %l4,[%o4]
  927.     add %o4,-4,%o4
  928. L210:
  929.     add %o3,-4,%o3
  930.     add %o1,-4,%o1
  931.     ld [%o3],%l4
  932.     ld [%o1],%g3
  933.     subxcc %l4,%g3,%l4
  934.     st %l4,[%o4]
  935.     add %o4,-4,%o4
  936. L211:
  937.     add %o3,-4,%o3
  938.     add %o1,-4,%o1
  939.     ld [%o3],%l4
  940.     ld [%o1],%g3
  941.     subxcc %l4,%g3,%l4
  942.     st %l4,[%o4]
  943.     add %o4,-4,%o4
  944. L212:
  945.     add %o3,-4,%o3
  946.     add %o1,-4,%o1
  947.     ld [%o3],%l4
  948.     ld [%o1],%g3
  949.     subxcc %l4,%g3,%l4
  950.     st %l4,[%o4]
  951.     add %o4,-4,%o4
  952. L213:
  953.     add %o3,-4,%o3
  954.     add %o1,-4,%o1
  955.     ld [%o3],%l4
  956.     ld [%o1],%g3
  957.     subxcc %l4,%g3,%l4
  958.     st %l4,[%o4]
  959.     add %o4,-4,%o4
  960. L214:
  961.     add %o3,-4,%o3
  962.     add %o1,-4,%o1
  963.     ld [%o3],%l4
  964.     ld [%o1],%g3
  965.     subxcc %l4,%g3,%l4
  966.     st %l4,[%o4]
  967.     add %o4,-4,%o4
  968. L215:
  969.     add %o3,-4,%o3
  970.     add %o1,-4,%o1
  971.     ld [%o3],%l4
  972.     ld [%o1],%g3
  973.     subxcc %l4,%g3,%l4
  974.     st %l4,[%o4]
  975.     add %o4,-4,%o4
  976. L216:
  977.     add %o3,-4,%o3
  978.     add %o1,-4,%o1
  979.     ld [%o3],%l4
  980.     ld [%o1],%g3
  981.     subxcc %l4,%g3,%l4
  982.     st %l4,[%o4]
  983.     add %o4,-4,%o4
  984. L217:
  985.     add %o3,-4,%o3
  986.     add %o1,-4,%o1
  987.     ld [%o3],%l4
  988.     ld [%o1],%g3
  989.     subxcc %l4,%g3,%l4
  990.     st %l4,[%o4]
  991.     add %o4,-4,%o4
  992. L218:
  993.     add %o3,-4,%o3
  994.     add %o1,-4,%o1
  995.     ld [%o3],%l4
  996.     ld [%o1],%g3
  997.     subxcc %l4,%g3,%l4
  998.     st %l4,[%o4]
  999.     add %o4,-4,%o4
  1000. L219:
  1001.     add %o3,-4,%o3
  1002.     add %o1,-4,%o1
  1003.     ld [%o3],%l4
  1004.     ld [%o1],%g3
  1005.     subxcc %l4,%g3,%l4
  1006.     st %l4,[%o4]
  1007.     add %o4,-4,%o4
  1008. L220:
  1009.     add %o3,-4,%o3
  1010.     add %o1,-4,%o1
  1011.     ld [%o3],%l4
  1012.     ld [%o1],%g3
  1013.     subxcc %l4,%g3,%l4
  1014.     st %l4,[%o4]
  1015.     add %o4,-4,%o4
  1016. L221:
  1017.     add %o3,-4,%o3
  1018.     add %o1,-4,%o1
  1019.     ld [%o3],%l4
  1020.     ld [%o1],%g3
  1021.     subxcc %l4,%g3,%l4
  1022.     st %l4,[%o4]
  1023.     addx %g0,%g0,%o2
  1024.     add %o5,-16,%o5
  1025.     cmp %o5,0
  1026.     bg L222
  1027.     add %o5,-1,%o0
  1028.     cmp %o2,0
  1029.     be,a L168
  1030.     subcc %l1,%l2,%o5
  1031.     add %o3,-4,%o3
  1032.     ld [%o3],%o0
  1033.     cmp %o0,0
  1034.     bne L223
  1035.     add %l0,8,%o1
  1036.     mov -1,%o1
  1037.     add %o4,-4,%o4
  1038. L224:
  1039.     st %o1,[%o4]
  1040.     add %o3,-4,%o3
  1041.     ld [%o3],%o0
  1042.     cmp %o0,0
  1043.     be,a L224
  1044.     add %o4,-4,%o4
  1045.     add %l0,8,%o1
  1046. L223:
  1047.     cmp %o3,%o1
  1048.     blu L176
  1049.     add %o0,-1,%o0
  1050.     add %o4,-4,%o4
  1051.     st %o0,[%o4]
  1052.     add %o3,-4,%o3
  1053.     cmp %o3,%o1
  1054.     blu L176
  1055.     mov %o3,%o0
  1056. L175:
  1057.     add %o4,-4,%o4
  1058.     ld [%o0],%o0
  1059.     st %o0,[%o4]
  1060.     add %o3,-4,%o3
  1061.     cmp %o3,%o1
  1062.     bgeu L175
  1063.     mov %o3,%o0
  1064.     b L225
  1065.     ld [%i0+8],%o0
  1066. L168:
  1067.     be,a L225
  1068.     ld [%i0+8],%o0
  1069. L179:
  1070.     add %o4,-4,%o4
  1071.     add %o3,-4,%o3
  1072.     ld [%o3],%o0
  1073.     addcc %o5,-1,%o5
  1074.     bne L179
  1075.     st %o0,[%o4]
  1076. L176:
  1077.     ld [%i0+8],%o0
  1078. L225:
  1079.     cmp %o0,0
  1080.     be,a L180
  1081.     ld [%i0+12],%o0
  1082.     ld [%l0+4],%o0
  1083.     b L185
  1084.     st %o0,[%i0+4]
  1085. L180:
  1086.     cmp %o0,0
  1087.     bne L183
  1088.     add %i0,12,%o4
  1089.     add %o4,4,%o4
  1090. L226:
  1091.     ld [%o4],%o0
  1092.     cmp %o0,0
  1093.     be,a L226
  1094.     add %o4,4,%o4
  1095. L183:
  1096.     add %o4,-8,%o4
  1097.     sub %o4,%i0,%o5
  1098.     sra %o5,2,%o5
  1099.     ld [%i0],%o1
  1100.     sub %o1,%o5,%o1
  1101.     st %o1,[%o4]
  1102.     st %o1,[%o4+4]
  1103.     mov %o4,%i0
  1104.     sethi %hi(-16777216),%o0
  1105.     andn %o1,%o0,%o0
  1106.     sll %l3,24,%o1
  1107.     add %o0,%o1,%o0
  1108.     st %o0,[%i0+4]
  1109.     sethi %hi(_avma),%o2
  1110.     sll %o5,2,%o0
  1111.     ld [%o2+%lo(_avma)],%o1
  1112.     add %o0,%o1,%o0
  1113.     st %o0,[%o2+%lo(_avma)]
  1114. L185:
  1115.     ret
  1116.     restore
  1117.     .align 4
  1118.     .global _mulss
  1119.     .proc    0105
  1120. _mulss:
  1121.     !#PROLOGUE# 0
  1122.     save %sp,-112,%sp
  1123.     !#PROLOGUE# 1
  1124.     orcc %i0,%g0,%o0
  1125.     be L229
  1126.     cmp %i1,0
  1127.     bne L228
  1128.     cmp %o0,0
  1129. L229:
  1130.     sethi %hi(_gzero),%o0
  1131.     b L237
  1132.     ld [%o0+%lo(_gzero)],%i0
  1133. L228:
  1134.     bge L230
  1135.     mov 1,%l0
  1136.     subcc %g0,%o0,%o0
  1137.     bpos L230
  1138.     mov -1,%l0
  1139.     call _stoi,0
  1140.     nop
  1141.     mov %o0,%o1
  1142.     call _mulsi,0
  1143.     mov %i1,%o0
  1144.     b L237
  1145.     mov %o0,%i0
  1146. L230:
  1147.     cmp %i1,0
  1148.     bge L238
  1149.     mov %o0,%l1
  1150.     subcc %g0,%i1,%i1
  1151.     bpos L238
  1152.     sub %g0,%l0,%l0
  1153.     cmp %l0,0
  1154.     bg L234
  1155.     mov %o0,%o1
  1156.     sub %g0,%o0,%o1
  1157. L234:
  1158.     mov %o1,%o0
  1159.     sethi %hi(_ABS_MOST_NEGS),%o1
  1160.     call _mulsi,0
  1161.     or %o1,%lo(_ABS_MOST_NEGS),%o1
  1162.     b L237
  1163.     mov %o0,%i0
  1164. L238:
  1165.      
  1166.         or      %l1,%i1,%o4      
  1167.         mov     %l1,%y
  1168.         andncc  %o4,0xfff,%g0
  1169.         be      2f
  1170.         andcc   %g0,%g0,%o4
  1171.         mulscc  %o4,%i1,%o4
  1172.         mulscc  %o4,%i1,%o4
  1173.         mulscc  %o4,%i1,%o4
  1174.         mulscc  %o4,%i1,%o4
  1175.         mulscc  %o4,%i1,%o4
  1176.         mulscc  %o4,%i1,%o4
  1177.         mulscc  %o4,%i1,%o4
  1178.         mulscc  %o4,%i1,%o4
  1179.         mulscc  %o4,%i1,%o4
  1180.         mulscc  %o4,%i1,%o4
  1181.         mulscc  %o4,%i1,%o4
  1182.         mulscc  %o4,%i1,%o4
  1183.         mulscc  %o4,%i1,%o4
  1184.         mulscc  %o4,%i1,%o4
  1185.         mulscc  %o4,%i1,%o4
  1186.         mulscc  %o4,%i1,%o4
  1187.         mulscc  %o4,%i1,%o4
  1188.         mulscc  %o4,%i1,%o4
  1189.         mulscc  %o4,%i1,%o4
  1190.         mulscc  %o4,%i1,%o4
  1191.         mulscc  %o4,%i1,%o4
  1192.         mulscc  %o4,%i1,%o4
  1193.         mulscc  %o4,%i1,%o4
  1194.         mulscc  %o4,%i1,%o4
  1195.         mulscc  %o4,%i1,%o4
  1196.         mulscc  %o4,%i1,%o4
  1197.         mulscc  %o4,%i1,%o4
  1198.         mulscc  %o4,%i1,%o4
  1199.         mulscc  %o4,%i1,%o4
  1200.         mulscc  %o4,%i1,%o4
  1201.         mulscc  %o4,%i1,%o4
  1202.         mulscc  %o4,%i1,%o4
  1203.         mulscc  %o4,%g0,%o4
  1204.         tst     %i1
  1205.         bl,a    1f
  1206.         add     %o4,%l1,%o4
  1207. 1:      mov     %o4,%o2
  1208.         b       3f 
  1209.         rd      %y,%l1
  1210. 2:      clr     %o2
  1211.         mulscc  %o4,%i1,%o4
  1212.         mulscc  %o4,%i1,%o4
  1213.         mulscc  %o4,%i1,%o4
  1214.         mulscc  %o4,%i1,%o4
  1215.         mulscc  %o4,%i1,%o4
  1216.         mulscc  %o4,%i1,%o4
  1217.         mulscc  %o4,%i1,%o4
  1218.         mulscc  %o4,%i1,%o4
  1219.         mulscc  %o4,%i1,%o4
  1220.         mulscc  %o4,%i1,%o4
  1221.         mulscc  %o4,%i1,%o4
  1222.         mulscc  %o4,%i1,%o4
  1223.         mulscc  %o4,%g0,%o4
  1224.         rd      %y,%o5
  1225.         sll     %o4,12,%o4
  1226.         srl     %o5,20,%o5
  1227.         or      %o5,%o4,%l1
  1228. 3:       
  1229.  
  1230.     orcc %o2,%g0,%i1
  1231.     be L235
  1232.     nop
  1233.     call _cgeti,0
  1234.     mov 4,%o0
  1235.     mov %o0,%i0
  1236.     st %i1,[%i0+8]
  1237.     b L236
  1238.     st %l1,[%i0+12]
  1239. L235:
  1240.     call _cgeti,0
  1241.     mov 3,%o0
  1242.     mov %o0,%i0
  1243.     st %l1,[%i0+8]
  1244. L236:
  1245.     ld [%i0],%o0
  1246.     sethi %hi(-16777216),%o1
  1247.     andn %o0,%o1,%o1
  1248.     sll %l0,24,%o0
  1249.     add %o1,%o0,%o1
  1250.     st %o1,[%i0+4]
  1251. L237:
  1252.     ret
  1253.     restore
  1254.     .align 4
  1255.     .global _mulii
  1256.     .proc    0105
  1257. _mulii:
  1258.     !#PROLOGUE# 0
  1259.     save %sp,-112,%sp
  1260.     !#PROLOGUE# 1
  1261.     mov %i0,%l4
  1262.     ld [%l4+4],%o0
  1263.     sethi %hi(65535),%o1
  1264.     or %o1,%lo(65535),%o1
  1265.     and %o0,%o1,%l0
  1266.     ld [%i1+4],%o2
  1267.     sra %o0,24,%l3
  1268.     cmp %l3,0
  1269.     be L256
  1270.     and %o2,%o1,%l2
  1271.     ldsb [%i1+4],%o0
  1272.     cmp %o0,0
  1273.     bne L241
  1274.     nop
  1275. L256:
  1276.     sethi %hi(_gzero),%o0
  1277.     b L255
  1278.     ld [%o0+%lo(_gzero)],%i0
  1279. L241:
  1280.     bl,a L242
  1281.     sub %g0,%l3,%l3
  1282. L242:
  1283.     cmp %l0,%l2
  1284.     ble L243
  1285.     sethi %hi(65535),%o0
  1286.     mov %l4,%i0
  1287.     mov %i1,%l4
  1288.     mov %i0,%i1
  1289.     mov %l0,%l1
  1290.     mov %l2,%l0
  1291.     mov %l1,%l2
  1292. L243:
  1293.     add %l0,%l2,%l1
  1294.     add %l1,-2,%l1
  1295.     or %o0,%lo(65535),%o0
  1296.     cmp %l1,%o0
  1297.     ble L244
  1298.     nop
  1299.     call _err,0
  1300.     mov 17,%o0
  1301. L244:
  1302.     call _cgeti,0
  1303.     mov %l1,%o0
  1304.     mov %o0,%i0
  1305.     ld [%i0],%o1
  1306.     sethi %hi(-16777216),%o0
  1307.     andn %o1,%o0,%o0
  1308.     sll %l3,24,%o1
  1309.     add %o0,%o1,%o0
  1310.     st %o0,[%i0+4]
  1311.     sll %l0,2,%o0
  1312.     add %l4,%o0,%g4
  1313.     add %g4,-4,%g4
  1314.     ld [%g4],%g2
  1315.     mov 0,%o2
  1316.     sll %l2,2,%o0
  1317.     add %i1,%o0,%g3
  1318.     sll %l1,2,%o0
  1319.     addcc %l2,-2,%o3
  1320.     be L246
  1321.     add %i0,%o0,%g1
  1322. L247:
  1323.     add %g1,-4,%g1
  1324.     mov %o2,%o1
  1325.     add %g3,-4,%g3
  1326.     mov %g2,%o0
  1327.     ld [%g3],%l5
  1328.      
  1329.         or      %o0,%l5,%o4      
  1330.         mov     %o0,%y
  1331.         andncc  %o4,0xfff,%g0
  1332.         be      2f
  1333.         andcc   %g0,%g0,%o4
  1334.         mulscc  %o4,%l5,%o4
  1335.         mulscc  %o4,%l5,%o4
  1336.         mulscc  %o4,%l5,%o4
  1337.         mulscc  %o4,%l5,%o4
  1338.         mulscc  %o4,%l5,%o4
  1339.         mulscc  %o4,%l5,%o4
  1340.         mulscc  %o4,%l5,%o4
  1341.         mulscc  %o4,%l5,%o4
  1342.         mulscc  %o4,%l5,%o4
  1343.         mulscc  %o4,%l5,%o4
  1344.         mulscc  %o4,%l5,%o4
  1345.         mulscc  %o4,%l5,%o4
  1346.         mulscc  %o4,%l5,%o4
  1347.         mulscc  %o4,%l5,%o4
  1348.         mulscc  %o4,%l5,%o4
  1349.         mulscc  %o4,%l5,%o4
  1350.         mulscc  %o4,%l5,%o4
  1351.         mulscc  %o4,%l5,%o4
  1352.         mulscc  %o4,%l5,%o4
  1353.         mulscc  %o4,%l5,%o4
  1354.         mulscc  %o4,%l5,%o4
  1355.         mulscc  %o4,%l5,%o4
  1356.         mulscc  %o4,%l5,%o4
  1357.         mulscc  %o4,%l5,%o4
  1358.         mulscc  %o4,%l5,%o4
  1359.         mulscc  %o4,%l5,%o4
  1360.         mulscc  %o4,%l5,%o4
  1361.         mulscc  %o4,%l5,%o4
  1362.         mulscc  %o4,%l5,%o4
  1363.         mulscc  %o4,%l5,%o4
  1364.         mulscc  %o4,%l5,%o4
  1365.         mulscc  %o4,%l5,%o4
  1366.         mulscc  %o4,%g0,%o4
  1367.         tst     %l5
  1368.         bl,a    1f
  1369.         add     %o4,%o0,%o4
  1370. 1:      mov     %o4,%o2
  1371.         b       3f 
  1372.         rd      %y,%o0
  1373. 2:      clr     %o2
  1374.         mulscc  %o4,%l5,%o4
  1375.         mulscc  %o4,%l5,%o4
  1376.         mulscc  %o4,%l5,%o4
  1377.         mulscc  %o4,%l5,%o4
  1378.         mulscc  %o4,%l5,%o4
  1379.         mulscc  %o4,%l5,%o4
  1380.         mulscc  %o4,%l5,%o4
  1381.         mulscc  %o4,%l5,%o4
  1382.         mulscc  %o4,%l5,%o4
  1383.         mulscc  %o4,%l5,%o4
  1384.         mulscc  %o4,%l5,%o4
  1385.         mulscc  %o4,%l5,%o4
  1386.         mulscc  %o4,%g0,%o4
  1387.         rd      %y,%o5
  1388.         sll     %o4,12,%o4
  1389.         srl     %o5,20,%o5
  1390.         or      %o5,%o4,%o0
  1391. 3:       
  1392.  
  1393.     addcc %o1,%o0,%l5
  1394.     addx %o2,%g0,%o2
  1395.     addcc %o3,-1,%o3
  1396.     bne L247
  1397.     st %l5,[%g1]
  1398. L246:
  1399.     st %o2,[%g1-4]
  1400.     sll %l1,2,%o0
  1401.     add %i0,%o0,%g1
  1402.     sll %l2,2,%o0
  1403.     add %i1,%o0,%i1
  1404.     add %l0,-3,%l0
  1405.     cmp %l0,0
  1406.     ble L249
  1407.     add %l2,-1,%l2
  1408. L253:
  1409.     add %g4,-4,%g4
  1410.     ld [%g4],%o7
  1411.     mov %i1,%g3
  1412.     add %g1,-4,%o1
  1413.     mov %o1,%g1
  1414.     addcc %l2,-1,%o3
  1415.     be L251
  1416.     mov 0,%g2
  1417. L252:
  1418.     add %g3,-4,%g3
  1419.     ld [%g3],%o0
  1420.      
  1421.         or      %o0,%o7,%o4      
  1422.         mov     %o0,%y
  1423.         andncc  %o4,0xfff,%g0
  1424.         be      2f
  1425.         andcc   %g0,%g0,%o4
  1426.         mulscc  %o4,%o7,%o4
  1427.         mulscc  %o4,%o7,%o4
  1428.         mulscc  %o4,%o7,%o4
  1429.         mulscc  %o4,%o7,%o4
  1430.         mulscc  %o4,%o7,%o4
  1431.         mulscc  %o4,%o7,%o4
  1432.         mulscc  %o4,%o7,%o4
  1433.         mulscc  %o4,%o7,%o4
  1434.         mulscc  %o4,%o7,%o4
  1435.         mulscc  %o4,%o7,%o4
  1436.         mulscc  %o4,%o7,%o4
  1437.         mulscc  %o4,%o7,%o4
  1438.         mulscc  %o4,%o7,%o4
  1439.         mulscc  %o4,%o7,%o4
  1440.         mulscc  %o4,%o7,%o4
  1441.         mulscc  %o4,%o7,%o4
  1442.         mulscc  %o4,%o7,%o4
  1443.         mulscc  %o4,%o7,%o4
  1444.         mulscc  %o4,%o7,%o4
  1445.         mulscc  %o4,%o7,%o4
  1446.         mulscc  %o4,%o7,%o4
  1447.         mulscc  %o4,%o7,%o4
  1448.         mulscc  %o4,%o7,%o4
  1449.         mulscc  %o4,%o7,%o4
  1450.         mulscc  %o4,%o7,%o4
  1451.         mulscc  %o4,%o7,%o4
  1452.         mulscc  %o4,%o7,%o4
  1453.         mulscc  %o4,%o7,%o4
  1454.         mulscc  %o4,%o7,%o4
  1455.         mulscc  %o4,%o7,%o4
  1456.         mulscc  %o4,%o7,%o4
  1457.         mulscc  %o4,%o7,%o4
  1458.         mulscc  %o4,%g0,%o4
  1459.         tst     %o7
  1460.         bl,a    1f
  1461.         add     %o4,%o0,%o4
  1462. 1:      mov     %o4,%o2
  1463.         b       3f 
  1464.         rd      %y,%o0
  1465. 2:      clr     %o2
  1466.         mulscc  %o4,%o7,%o4
  1467.         mulscc  %o4,%o7,%o4
  1468.         mulscc  %o4,%o7,%o4
  1469.         mulscc  %o4,%o7,%o4
  1470.         mulscc  %o4,%o7,%o4
  1471.         mulscc  %o4,%o7,%o4
  1472.         mulscc  %o4,%o7,%o4
  1473.         mulscc  %o4,%o7,%o4
  1474.         mulscc  %o4,%o7,%o4
  1475.         mulscc  %o4,%o7,%o4
  1476.         mulscc  %o4,%o7,%o4
  1477.         mulscc  %o4,%o7,%o4
  1478.         mulscc  %o4,%g0,%o4
  1479.         rd      %y,%o5
  1480.         sll     %o4,12,%o4
  1481.         srl     %o5,20,%o5
  1482.         or      %o5,%o4,%o0
  1483. 3:       
  1484.  
  1485.     add %o1,-4,%o1
  1486.     ld [%o1],%l5
  1487.     addcc %o0,%l5,%o0
  1488.     addx %o2,%g0,%o2
  1489.     addcc %o0,%g2,%l5
  1490.     addx %o2,%g0,%o2
  1491.     st %l5,[%o1]
  1492.     addcc %o3,-1,%o3
  1493.     bne L252
  1494.     mov %o2,%g2
  1495. L251:
  1496.     add %l0,-1,%l0
  1497.     cmp %l0,0
  1498.     bg L253
  1499.     st %o2,[%o1-4]
  1500. L249:
  1501.     ld [%i0+8],%o0
  1502.     cmp %o0,0
  1503.     bne L255
  1504.     sethi %hi(_avma),%o1
  1505.     ld [%i0+4],%o0
  1506.     add %o0,-1,%o0
  1507.     st %o0,[%i0+8]
  1508.     ld [%i0],%o0
  1509.     add %o0,-1,%o0
  1510.     st %o0,[%i0+4]
  1511.     add %i0,4,%i0
  1512.     ld [%o1+%lo(_avma)],%o0
  1513.     add %o0,4,%o0
  1514.     st %o0,[%o1+%lo(_avma)]
  1515. L255:
  1516.     ret
  1517.     restore
  1518. .data
  1519.     .align 8
  1520. LC0:
  1521.     .word    0x3fd34413
  1522.     .word    0x55475a32
  1523.     .align 8
  1524. LC1:
  1525.     .word    0x3ff00000
  1526.     .word    0x0
  1527. .text
  1528.     .align 4
  1529.     .global _confrac
  1530.     .proc    0105
  1531. _confrac:
  1532.     !#PROLOGUE# 0
  1533.     save %sp,-112,%sp
  1534.     !#PROLOGUE# 1
  1535.     ld [%i0],%o1
  1536.     sethi %hi(65535),%o0
  1537.     or %o0,%lo(65535),%o0
  1538.     and %o1,%o0,%l2
  1539.     ld [%i0+4],%o0
  1540.     sethi %hi(-16777216),%o1
  1541.     andn %o0,%o1,%o1
  1542.     sethi %hi(8388607),%o0
  1543.     or %o0,%lo(8388607),%o0
  1544.     sub %o0,%o1,%l0
  1545.     sethi %hi(_avma),%o0
  1546.     ld [%o0+%lo(_avma)],%l5
  1547.     add %l2,-2,%l4
  1548.     sll %l4,5,%l4
  1549.     add %l4,%l0,%l4
  1550.     add %l4,63,%l3
  1551.     sra %l3,5,%l3
  1552.     call _cgeti,0
  1553.     mov %l3,%o0
  1554.     sra %l0,5,%o1
  1555.     mov 0,%g2
  1556.     cmp %g2,%o1
  1557.     bge L259
  1558.     mov %o0,%l1
  1559. L261:
  1560.     sll %g2,2,%o0
  1561.     add %g2,1,%g2
  1562.     cmp %g2,%o1
  1563.     bl L261
  1564.     st %g0,[%l1+%o0]
  1565. L259:
  1566.     andcc %l0,31,%l0
  1567.     bne L262
  1568.     mov 2,%g3
  1569.     cmp %g3,%l2
  1570.     bge L280
  1571.     sll %l3,2,%o0
  1572. L266:
  1573.     sll %g2,2,%o0
  1574.     sll %g3,2,%o1
  1575.     ld [%i0+%o1],%o1
  1576.     st %o1,[%l1+%o0]
  1577.     add %g3,1,%g3
  1578.     cmp %g3,%l2
  1579.     bl L266
  1580.     add %g2,1,%g2
  1581.     b L280
  1582.     sll %l3,2,%o0
  1583. L262:
  1584.     cmp %g3,%l2
  1585.     bge L269
  1586.     mov 0,%o3
  1587.     mov 32,%o0
  1588.     sub %o0,%l0,%o4
  1589. L271:
  1590.     sll %g2,2,%o1
  1591.     sll %g3,2,%o0
  1592.     ld [%i0+%o0],%o2
  1593.     add %g2,1,%g2
  1594.     srl %o2,%l0,%o0
  1595.     add %o0,%o3,%o0
  1596.     st %o0,[%l1+%o1]
  1597.     add %g3,1,%g3
  1598.     cmp %g3,%l2
  1599.     bl L271
  1600.     sll %o2,%o4,%o3
  1601. L269:
  1602.     sll %l3,2,%o0
  1603.     add %o0,%l1,%o0
  1604.     st %o3,[%o0-8]
  1605.     sll %l3,2,%o0
  1606. L280:
  1607.     add %o0,%l1,%o0
  1608.     st %g0,[%o0-4]
  1609.     st %l4,[%fp-16]
  1610.     ld [%fp-16],%f6
  1611.     fitod %f6,%f2
  1612.     sethi %hi(LC0),%l6
  1613.     ldd [%l6+%lo(LC0)],%f4
  1614.     fmuld %f2,%f4,%f2
  1615.     sethi %hi(LC1),%l6
  1616.     ldd [%l6+%lo(LC1)],%f4
  1617.     faddd %f2,%f4,%f2
  1618.     fdtoi %f2,%f2
  1619.     st %f2,[%fp-16]
  1620.     ld [%fp-16],%l0
  1621.     add %l0,17,%l2
  1622.     mov %l2,%o0
  1623.     call .div,0
  1624.     mov 9,%o1
  1625.     call _cgeti,0
  1626.     mov %o0,%l2
  1627.     mov %o0,%i0
  1628.     mov 1,%g3
  1629.     cmp %g3,%l2
  1630.     bge L273
  1631.     st %l0,[%i0]
  1632. L279:
  1633.     addcc %l3,-1,%g2
  1634.     bneg L276
  1635.     mov 0,%o3
  1636.     sethi %hi(1000000000),%o0
  1637.     or %o0,%lo(1000000000),%o7
  1638. L278:
  1639.     sll %g2,2,%o1
  1640.     mov %o3,%o2
  1641.     ld [%l1+%o1],%o0
  1642.      
  1643.         or      %o0,%o7,%o4      
  1644.         mov     %o0,%y
  1645.         andncc  %o4,0xfff,%g0
  1646.         be      2f
  1647.         andcc   %g0,%g0,%o4
  1648.         mulscc  %o4,%o7,%o4
  1649.         mulscc  %o4,%o7,%o4
  1650.         mulscc  %o4,%o7,%o4
  1651.         mulscc  %o4,%o7,%o4
  1652.         mulscc  %o4,%o7,%o4
  1653.         mulscc  %o4,%o7,%o4
  1654.         mulscc  %o4,%o7,%o4
  1655.         mulscc  %o4,%o7,%o4
  1656.         mulscc  %o4,%o7,%o4
  1657.         mulscc  %o4,%o7,%o4
  1658.         mulscc  %o4,%o7,%o4
  1659.         mulscc  %o4,%o7,%o4
  1660.         mulscc  %o4,%o7,%o4
  1661.         mulscc  %o4,%o7,%o4
  1662.         mulscc  %o4,%o7,%o4
  1663.         mulscc  %o4,%o7,%o4
  1664.         mulscc  %o4,%o7,%o4
  1665.         mulscc  %o4,%o7,%o4
  1666.         mulscc  %o4,%o7,%o4
  1667.         mulscc  %o4,%o7,%o4
  1668.         mulscc  %o4,%o7,%o4
  1669.         mulscc  %o4,%o7,%o4
  1670.         mulscc  %o4,%o7,%o4
  1671.         mulscc  %o4,%o7,%o4
  1672.         mulscc  %o4,%o7,%o4
  1673.         mulscc  %o4,%o7,%o4
  1674.         mulscc  %o4,%o7,%o4
  1675.         mulscc  %o4,%o7,%o4
  1676.         mulscc  %o4,%o7,%o4
  1677.         mulscc  %o4,%o7,%o4
  1678.         mulscc  %o4,%o7,%o4
  1679.         mulscc  %o4,%o7,%o4
  1680.         mulscc  %o4,%g0,%o4
  1681.         tst     %o7
  1682.         bl,a    1f
  1683.         add     %o4,%o0,%o4
  1684. 1:      mov     %o4,%o3
  1685.         b       3f 
  1686.         rd      %y,%o0
  1687. 2:      clr     %o3
  1688.         mulscc  %o4,%o7,%o4
  1689.         mulscc  %o4,%o7,%o4
  1690.         mulscc  %o4,%o7,%o4
  1691.         mulscc  %o4,%o7,%o4
  1692.         mulscc  %o4,%o7,%o4
  1693.         mulscc  %o4,%o7,%o4
  1694.         mulscc  %o4,%o7,%o4
  1695.         mulscc  %o4,%o7,%o4
  1696.         mulscc  %o4,%o7,%o4
  1697.         mulscc  %o4,%o7,%o4
  1698.         mulscc  %o4,%o7,%o4
  1699.         mulscc  %o4,%o7,%o4
  1700.         mulscc  %o4,%g0,%o4
  1701.         rd      %y,%o5
  1702.         sll     %o4,12,%o4
  1703.         srl     %o5,20,%o5
  1704.         or      %o5,%o4,%o0
  1705. 3:       
  1706.  
  1707.     addcc %o2,%o0,%l6
  1708.     addx %o3,%g0,%o3
  1709.     addcc %g2,-1,%g2
  1710.     bpos L278
  1711.     st %l6,[%l1+%o1]
  1712. L276:
  1713.     sll %g3,2,%o0
  1714.     add %g3,1,%g3
  1715.     cmp %g3,%l2
  1716.     bl L279
  1717.     st %o3,[%i0+%o0]
  1718. L273:
  1719.     sethi %hi(_avma),%o0
  1720.     st %l5,[%o0+%lo(_avma)]
  1721.     ret
  1722.     restore
  1723.     .align 4
  1724.     .global _divss
  1725.     .proc    0105
  1726. _divss:
  1727.     !#PROLOGUE# 0
  1728.     save %sp,-112,%sp
  1729.     !#PROLOGUE# 1
  1730.     cmp %i1,0
  1731.     bne L290
  1732.     sethi %hi(-2147483648),%o0
  1733.     call _err,0
  1734.     mov 23,%o0
  1735.     sethi %hi(-2147483648),%o0
  1736. L290:
  1737.     cmp %i0,%o0
  1738.     bne L283
  1739.     sethi %hi(_hiremainder),%o0
  1740.     call _stoi,0
  1741.     mov %i0,%o0
  1742.     call _divis,0
  1743.     mov %i1,%o1
  1744.     b,a L289
  1745. L283:
  1746.     st %g0,[%o0+%lo(_hiremainder)]
  1747.     cmp %i0,0
  1748.     bge L284
  1749.     mov %i0,%o0
  1750.     sub %g0,%i0,%o0
  1751. L284:
  1752.     cmp %i1,0
  1753.     bge L285
  1754.     mov %i1,%o1
  1755.     sub %g0,%i1,%o1
  1756. L285:
  1757.     sethi %hi(_hiremainder),%l0
  1758.     call _divul3,0
  1759.     or %l0,%lo(_hiremainder),%o2
  1760.     cmp %i1,0
  1761.     bge L286
  1762.     mov %o0,%o1
  1763.     ld [%l0+%lo(_hiremainder)],%o0
  1764.     sub %g0,%o0,%o0
  1765.     st %o0,[%l0+%lo(_hiremainder)]
  1766.     sub %g0,%o1,%o1
  1767. L286:
  1768.     cmp %i0,0
  1769.     bl,a L287
  1770.     sub %g0,%o1,%o1
  1771. L287:
  1772.     call _stoi,0
  1773.     mov %o1,%o0
  1774. L289:
  1775.     ret
  1776.     restore %g0,%o0,%o0
  1777.     .align 4
  1778.     .global _modss
  1779.     .proc    0105
  1780. _modss:
  1781.     !#PROLOGUE# 0
  1782.     save %sp,-120,%sp
  1783.     !#PROLOGUE# 1
  1784.     cmp %i1,0
  1785.     bne L300
  1786.     sethi %hi(-2147483648),%o0
  1787.     call _err,0
  1788.     mov 38,%o0
  1789.     sethi %hi(-2147483648),%o0
  1790. L300:
  1791.     cmp %i0,%o0
  1792.     bne L293
  1793.     mov %i0,%o0
  1794.     call _stoi,0
  1795.     nop
  1796.     call _modis,0
  1797.     mov %i1,%o1
  1798.     b L299
  1799.     mov %o0,%i0
  1800. L293:
  1801.     cmp %o0,0
  1802.     bge L294
  1803.     st %g0,[%fp-20]
  1804.     sub %g0,%o0,%o0
  1805. L294:
  1806.     cmp %i1,0
  1807.     bl,a L295
  1808.     sub %g0,%i1,%i1
  1809. L295:
  1810.     mov %i1,%o1
  1811.     call _divul3,0
  1812.     add %fp,-20,%o2
  1813.     ld [%fp-20],%o0
  1814.     cmp %o0,0
  1815.     bne L296
  1816.     nop
  1817.     sethi %hi(_gzero),%o0
  1818.     b L299
  1819.     ld [%o0+%lo(_gzero)],%i0
  1820. L296:
  1821.     bge L297
  1822.     nop
  1823.     call _stoi,0
  1824.     sub %i1,%o0,%o0
  1825.     b L299
  1826.     mov %o0,%i0
  1827. L297:
  1828.     call _stoi,0
  1829.     ld [%fp-20],%o0
  1830.     mov %o0,%i0
  1831. L299:
  1832.     ret
  1833.     restore
  1834.     .align 4
  1835.     .global _resss
  1836.     .proc    0105
  1837. _resss:
  1838.     !#PROLOGUE# 0
  1839.     save %sp,-120,%sp
  1840.     !#PROLOGUE# 1
  1841.     cmp %i1,0
  1842.     bne L307
  1843.     mov %i0,%o0
  1844.     call _err,0
  1845.     mov 40,%o0
  1846.     mov %i0,%o0
  1847. L307:
  1848.     cmp %o0,0
  1849.     bge L303
  1850.     st %g0,[%fp-20]
  1851.     sub %g0,%o0,%o0
  1852. L303:
  1853.     cmp %i1,0
  1854.     bge L304
  1855.     mov %i1,%o1
  1856.     sub %g0,%i1,%o1
  1857. L304:
  1858.     call _divul3,0
  1859.     add %fp,-20,%o2
  1860.     cmp %i1,0
  1861.     bge L305
  1862.     ld [%fp-20],%o0
  1863.     call _stoi,0
  1864.     sub %g0,%o0,%o0
  1865.     b,a L306
  1866. L305:
  1867.     call _stoi,0
  1868.     nop
  1869. L306:
  1870.     ret
  1871.     restore %g0,%o0,%o0
  1872.     .align 4
  1873.     .global _divsi
  1874.     .proc    0105
  1875. _divsi:
  1876.     !#PROLOGUE# 0
  1877.     save %sp,-112,%sp
  1878.     !#PROLOGUE# 1
  1879.     ld [%i1+4],%o0
  1880.     sra %o0,24,%o2
  1881.     sethi %hi(65535),%o1
  1882.     or %o1,%lo(65535),%o1
  1883.     cmp %o2,0
  1884.     bne L309
  1885.     and %o0,%o1,%l0
  1886.     call _err,0
  1887.     mov 24,%o0
  1888. L309:
  1889.     cmp %i0,0
  1890.     be L311
  1891.     cmp %l0,3
  1892.     bg L318
  1893.     sethi %hi(_hiremainder),%o0
  1894.     ld [%i1+8],%o0
  1895.     cmp %o0,0
  1896.     bge L310
  1897.     sethi %hi(-2147483648),%o0
  1898. L311:
  1899.     sethi %hi(_hiremainder),%o0
  1900. L318:
  1901.     st %i0,[%o0+%lo(_hiremainder)]
  1902.     sethi %hi(_gzero),%o0
  1903.     b L316
  1904.     ld [%o0+%lo(_gzero)],%i0
  1905. L310:
  1906.     cmp %i0,%o0
  1907.     bne L312
  1908.     sethi %hi(_hiremainder),%o0
  1909.     call _stoi,0
  1910.     mov %i0,%o0
  1911.     mov %i1,%o1
  1912.     call _dvmdii,0
  1913.     mov 0,%o2
  1914.     b L316
  1915.     mov %o0,%i0
  1916. L312:
  1917.     st %g0,[%o0+%lo(_hiremainder)]
  1918.     cmp %i0,0
  1919.     bge L313
  1920.     mov %i0,%o0
  1921.     sub %g0,%i0,%o0
  1922. L313:
  1923.     ld [%i1+8],%o1
  1924.     sethi %hi(_hiremainder),%l0
  1925.     call _divul3,0
  1926.     or %l0,%lo(_hiremainder),%o2
  1927.     mov %o0,%o1
  1928.     ldsb [%i1+4],%o0
  1929.     cmp %o0,0
  1930.     bge L319
  1931.     cmp %i0,0
  1932.     ld [%l0+%lo(_hiremainder)],%o0
  1933.     sub %g0,%o0,%o0
  1934.     st %o0,[%l0+%lo(_hiremainder)]
  1935.     sub %g0,%o1,%o1
  1936. L319:
  1937.     bl,a L315
  1938.     sub %g0,%o1,%o1
  1939. L315:
  1940.     call _stoi,0
  1941.     mov %o1,%o0
  1942.     mov %o0,%i0
  1943. L316:
  1944.     ret
  1945.     restore
  1946.     .align 4
  1947.     .global _divis
  1948.     .proc    0105
  1949. _divis:
  1950.     !#PROLOGUE# 0
  1951.     save %sp,-120,%sp
  1952.     !#PROLOGUE# 1
  1953.     ld [%i0+4],%o1
  1954.     sra %o1,24,%l4
  1955.     sethi %hi(65535),%o0
  1956.     or %o0,%lo(65535),%o0
  1957.     cmp %i1,0
  1958.     bne L321
  1959.     and %o1,%o0,%l3
  1960.     call _err,0
  1961.     mov 26,%o0
  1962. L321:
  1963.     cmp %l4,0
  1964.     bne L322
  1965.     cmp %i1,0
  1966.     sethi %hi(_hiremainder),%o0
  1967.     b L336
  1968.     st %g0,[%o0+%lo(_hiremainder)]
  1969. L322:
  1970.     bge,a L337
  1971.     ld [%i0+8],%o0
  1972.     subcc %g0,%i1,%i1
  1973.     bpos L323
  1974.     sub %g0,%l4,%l4
  1975.     call _stoi,0
  1976.     mov %i1,%o0
  1977.     mov %o0,%o1
  1978.     mov %i0,%o0
  1979.     call _dvmdii,0
  1980.     mov 0,%o2
  1981.     b L335
  1982.     mov %o0,%i0
  1983. L323:
  1984.     ld [%i0+8],%o0
  1985. L337:
  1986.     cmp %i1,%o0
  1987.     bleu L325
  1988.     cmp %l3,3
  1989.     bne L326
  1990.     sethi %hi(_hiremainder),%l0
  1991.     call _itos,0
  1992.     mov %i0,%o0
  1993.     st %o0,[%l0+%lo(_hiremainder)]
  1994. L336:
  1995.     sethi %hi(_gzero),%o0
  1996.     b L335
  1997.     ld [%o0+%lo(_gzero)],%i0
  1998. L326:
  1999.     call _cgeti,0
  2000.     add %l3,-1,%o0
  2001.     mov %o0,%l2
  2002.     mov 1,%l1
  2003.     ld [%i0+8],%o0
  2004.     b L328
  2005.     st %o0,[%fp-20]
  2006. L325:
  2007.     call _cgeti,0
  2008.     mov %l3,%o0
  2009.     mov %o0,%l2
  2010.     mov 0,%l1
  2011.     st %g0,[%fp-20]
  2012. L328:
  2013.     add %l1,2,%l0
  2014.     cmp %l0,%l3
  2015.     bge,a L338
  2016.     ld [%l2],%o0
  2017. L332:
  2018.     sll %l0,2,%o0
  2019.     ld [%i0+%o0],%o0
  2020.     mov %i1,%o1
  2021.     call _divul3,0
  2022.     add %fp,-20,%o2
  2023.     sub %l0,%l1,%o1
  2024.     sll %o1,2,%o1
  2025.     add %l0,1,%l0
  2026.     cmp %l0,%l3
  2027.     bl L332
  2028.     st %o0,[%l2+%o1]
  2029.     ld [%l2],%o0
  2030. L338:
  2031.     sethi %hi(-16777216),%o1
  2032.     andn %o0,%o1,%o1
  2033.     sll %l4,24,%o0
  2034.     add %o1,%o0,%o1
  2035.     st %o1,[%l2+4]
  2036.     sethi %hi(_hiremainder),%o1
  2037.     cmp %l4,0
  2038.     bge L333
  2039.     or %o1,%lo(_hiremainder),%o2
  2040.     ld [%fp-20],%o0
  2041.     sub %g0,%o0,%o0
  2042.     b L334
  2043.     st %o0,[%o1+%lo(_hiremainder)]
  2044. L333:
  2045.     ld [%fp-20],%o0
  2046.     st %o0,[%o2]
  2047. L334:
  2048.     mov %l2,%i0
  2049. L335:
  2050.     ret
  2051.     restore
  2052.     .align 4
  2053.     .global _dvmdii
  2054.     .proc    0105
  2055. _dvmdii:
  2056.     !#PROLOGUE# 0
  2057.     save %sp,-152,%sp
  2058.     !#PROLOGUE# 1
  2059.     mov %i0,%l0
  2060.     mov %i2,%i4
  2061.     ldsb [%l0+4],%g4
  2062.     st %g4,[%fp-36]
  2063.     ldsb [%i1+4],%g1
  2064.     cmp %g1,0
  2065.     bne L340
  2066.     st %g1,[%fp-44]
  2067.     call _err,0
  2068.     mov 36,%o0
  2069. L340:
  2070.     ld [%fp-36],%g4
  2071.     cmp %g4,0
  2072.     bne,a L341
  2073.     ld [%l0+4],%o0
  2074.     cmp %i4,-1
  2075.     be L428
  2076.     cmp %i4,0
  2077.     be L428
  2078.     sethi %hi(_gzero),%o1
  2079.     ld [%o1+%lo(_gzero)],%o0
  2080.     st %o0,[%i4]
  2081.     b L427
  2082.     ld [%o1+%lo(_gzero)],%i0
  2083. L341:
  2084.     sethi %hi(65535),%o1
  2085.     or %o1,%lo(65535),%o1
  2086.     and %o0,%o1,%l6
  2087.     ld [%i1+4],%o0
  2088.     and %o0,%o1,%i3
  2089.     subcc %l6,%i3,%i5
  2090.     bpos,a L344
  2091.     sethi %hi(_avma),%o0
  2092.     cmp %i4,-1
  2093.     bne L345
  2094.     cmp %i4,0
  2095.     call _icopy,0
  2096.     mov %l0,%o0
  2097.     b L427
  2098.     mov %o0,%i0
  2099. L345:
  2100.     be L433
  2101.     sethi %hi(_gzero),%o0
  2102.     call _icopy,0
  2103.     mov %l0,%o0
  2104.     b L428
  2105.     st %o0,[%i4]
  2106. L344:
  2107.     ld [%o0+%lo(_avma)],%o0
  2108.     st %o0,[%fp-28]
  2109.     ld [%fp-36],%g1
  2110.     cmp %g1,0
  2111.     bge L434
  2112.     cmp %i3,3
  2113.     ld [%fp-44],%g4
  2114.     sub %g0,%g4,%g4
  2115.     st %g4,[%fp-44]
  2116. L434:
  2117.     bne L348
  2118.     nop
  2119.     ld [%i1+8],%i1
  2120.     ld [%l0+8],%o0
  2121.     cmp %i1,%o0
  2122.     bleu L349
  2123.     add %l0,8,%l1
  2124.     add %l6,-1,%l4
  2125.     st %o0,[%fp-20]
  2126.     b L350
  2127.     add %l0,12,%l1
  2128. L349:
  2129.     mov %l6,%l4
  2130.     st %g0,[%fp-20]
  2131. L350:
  2132.     call _cgeti,0
  2133.     mov %l4,%o0
  2134.     mov %o0,%l5
  2135.     addcc %l4,-2,%l3
  2136.     be L352
  2137.     add %l5,8,%l2
  2138. L353:
  2139.     ld [%l1],%o0
  2140.     add %l1,4,%l1
  2141.     mov %i1,%o1
  2142.     call _divul3,0
  2143.     add %fp,-20,%o2
  2144.     st %o0,[%l2]
  2145.     addcc %l3,-1,%l3
  2146.     bne L353
  2147.     add %l2,4,%l2
  2148. L352:
  2149.     cmp %i4,-1
  2150.     bne L354
  2151.     cmp %l4,2
  2152.     ld [%fp-28],%g1
  2153.     sethi %hi(_avma),%o0
  2154.     st %g1,[%o0+%lo(_avma)]
  2155.     ld [%fp-20],%o0
  2156.     cmp %o0,0
  2157.     bne L355
  2158.     nop
  2159. L428:
  2160.     sethi %hi(_gzero),%o0
  2161. L433:
  2162.     b L427
  2163.     ld [%o0+%lo(_gzero)],%i0
  2164. L355:
  2165.     call _cgeti,0
  2166.     mov 3,%o0
  2167.     mov %o0,%i0
  2168.     ld [%fp-36],%g4
  2169.     sll %g4,24,%o0
  2170.     add %o0,3,%o0
  2171.     st %o0,[%i0+4]
  2172.     ld [%fp-20],%o0
  2173.     b L427
  2174.     st %o0,[%i0+8]
  2175. L354:
  2176.     be L356
  2177.     sethi %hi(-16777216),%o1
  2178.     ld [%l5],%o0
  2179.     andn %o0,%o1,%o1
  2180.     ld [%fp-44],%g1
  2181.     sll %g1,24,%o0
  2182.     add %o1,%o0,%o1
  2183.     b L357
  2184.     st %o1,[%l5+4]
  2185. L356:
  2186.     ld [%fp-28],%g4
  2187.     sethi %hi(_avma),%o0
  2188.     st %g4,[%o0+%lo(_avma)]
  2189.     sethi %hi(_gzero),%o0
  2190.     ld [%o0+%lo(_gzero)],%l5
  2191. L357:
  2192.     cmp %i4,0
  2193.     bne L358
  2194.     ld [%fp-20],%o0
  2195. L430:
  2196.     b L427
  2197.     mov %l5,%i0
  2198. L358:
  2199.     cmp %o0,0
  2200.     bne L359
  2201.     sethi %hi(_gzero),%o0
  2202.     ld [%o0+%lo(_gzero)],%o0
  2203.     b L430
  2204.     st %o0,[%i4]
  2205. L359:
  2206.     call _cgeti,0
  2207.     mov 3,%o0
  2208.     mov %o0,%i0
  2209.     ld [%fp-36],%g1
  2210.     sll %g1,24,%o0
  2211.     add %o0,3,%o0
  2212.     st %o0,[%i0+4]
  2213.     ld [%fp-20],%o0
  2214.     st %o0,[%i0+8]
  2215.     b L430
  2216.     st %i0,[%i4]
  2217. L348:
  2218.     call _cgeti,0
  2219.     mov %l6,%o0
  2220.     mov %o0,%l5
  2221.     call _bfffo,0
  2222.     ld [%i1+8],%o0
  2223.     orcc %o0,%g0,%l7
  2224.     be L362
  2225.     add %l0,8,%l1
  2226.     call _cgeti,0
  2227.     mov %i3,%o0
  2228.     mov %o0,%i0
  2229.     ld [%i1+8],%o3
  2230.     add %i1,12,%o1
  2231.     mov 32,%o0
  2232.     sub %o0,%l7,%o0
  2233.     srl %o3,%o0,%o0
  2234.     st %o0,[%fp-20]
  2235.     sll %o3,%l7,%g2
  2236.     addcc %i3,-3,%l3
  2237.     be L364
  2238.     add %i0,8,%o2
  2239.     mov 32,%o0
  2240.     sub %o0,%l7,%o4
  2241. L365:
  2242.     ld [%o1],%o3
  2243.     add %o1,4,%o1
  2244.     srl %o3,%o4,%o0
  2245.     st %o0,[%fp-20]
  2246.     add %g2,%o0,%o0
  2247.     st %o0,[%o2]
  2248.     add %o2,4,%o2
  2249.     addcc %l3,-1,%l3
  2250.     bne L365
  2251.     sll %o3,%l7,%g2
  2252. L364:
  2253.     st %g2,[%o2]
  2254.     mov 0,%g2
  2255.     add %l0,8,%l1
  2256.     addcc %l6,-2,%l3
  2257.     be L367
  2258.     add %l5,4,%l2
  2259.     mov 32,%o0
  2260.     sub %o0,%l7,%o1
  2261. L368:
  2262.     ld [%l1],%o3
  2263.     add %l1,4,%l1
  2264.     srl %o3,%o1,%o0
  2265.     st %o0,[%fp-20]
  2266.     add %g2,%o0,%o0
  2267.     st %o0,[%l2]
  2268.     add %l2,4,%l2
  2269.     addcc %l3,-1,%l3
  2270.     bne L368
  2271.     sll %o3,%l7,%g2
  2272. L367:
  2273.     b L369
  2274.     st %g2,[%l2]
  2275. L362:
  2276.     st %g0,[%l5+4]
  2277.     addcc %l6,-2,%l0
  2278.     be L371
  2279.     add %l5,8,%l2
  2280. L372:
  2281.     ld [%l1],%o0
  2282.     st %o0,[%l2]
  2283.     add %l1,4,%l1
  2284.     addcc %l0,-1,%l0
  2285.     bne L372
  2286.     add %l2,4,%l2
  2287. L371:
  2288.     mov %i1,%i0
  2289. L369:
  2290.     ld [%i0+8],%i1
  2291.     ld [%i0+12],%i2
  2292.     addcc %i5,1,%l3
  2293.     be L374
  2294.     add %l5,4,%l2
  2295.     sll %i3,2,%l1
  2296. L396:
  2297.     ld [%l2],%o0
  2298.     cmp %o0,%i1
  2299.     bne L375
  2300.     add %l2,4,%l2
  2301.     mov -1,%o7
  2302.     mov %i1,%o3
  2303.     ld [%l2],%o0
  2304.     add %o3,%o0,%o1
  2305.     cmp %o1,%o3
  2306.     addx %g0,0,%o2
  2307.     b L376
  2308.     mov %o1,%g2
  2309. L375:
  2310.     ld [%l2-4],%o0
  2311.     st %o0,[%fp-20]
  2312.     ld [%l2],%o0
  2313.     mov %i1,%o1
  2314.     call _divul3,0
  2315.     add %fp,-20,%o2
  2316.     mov %o0,%o7
  2317.     mov 0,%o2
  2318.     ld [%fp-20],%g2
  2319. L376:
  2320.     cmp %o2,0
  2321.     bne,a L435
  2322.     st %g0,[%fp-20]
  2323.     mov %o7,%o3
  2324.      
  2325.         or      %o3,%i2,%o4      
  2326.         mov     %o3,%y
  2327.         andncc  %o4,0xfff,%g0
  2328.         be      2f
  2329.         andcc   %g0,%g0,%o4
  2330.         mulscc  %o4,%i2,%o4
  2331.         mulscc  %o4,%i2,%o4
  2332.         mulscc  %o4,%i2,%o4
  2333.         mulscc  %o4,%i2,%o4
  2334.         mulscc  %o4,%i2,%o4
  2335.         mulscc  %o4,%i2,%o4
  2336.         mulscc  %o4,%i2,%o4
  2337.         mulscc  %o4,%i2,%o4
  2338.         mulscc  %o4,%i2,%o4
  2339.         mulscc  %o4,%i2,%o4
  2340.         mulscc  %o4,%i2,%o4
  2341.         mulscc  %o4,%i2,%o4
  2342.         mulscc  %o4,%i2,%o4
  2343.         mulscc  %o4,%i2,%o4
  2344.         mulscc  %o4,%i2,%o4
  2345.         mulscc  %o4,%i2,%o4
  2346.         mulscc  %o4,%i2,%o4
  2347.         mulscc  %o4,%i2,%o4
  2348.         mulscc  %o4,%i2,%o4
  2349.         mulscc  %o4,%i2,%o4
  2350.         mulscc  %o4,%i2,%o4
  2351.         mulscc  %o4,%i2,%o4
  2352.         mulscc  %o4,%i2,%o4
  2353.         mulscc  %o4,%i2,%o4
  2354.         mulscc  %o4,%i2,%o4
  2355.         mulscc  %o4,%i2,%o4
  2356.         mulscc  %o4,%i2,%o4
  2357.         mulscc  %o4,%i2,%o4
  2358.         mulscc  %o4,%i2,%o4
  2359.         mulscc  %o4,%i2,%o4
  2360.         mulscc  %o4,%i2,%o4
  2361.         mulscc  %o4,%i2,%o4
  2362.         mulscc  %o4,%g0,%o4
  2363.         tst     %i2
  2364.         bl,a    1f
  2365.         add     %o4,%o3,%o4
  2366. 1:      mov     %o4,%g4
  2367.         b       3f 
  2368.         rd      %y,%o3
  2369. 2:      clr     %g4
  2370.         mulscc  %o4,%i2,%o4
  2371.         mulscc  %o4,%i2,%o4
  2372.         mulscc  %o4,%i2,%o4
  2373.         mulscc  %o4,%i2,%o4
  2374.         mulscc  %o4,%i2,%o4
  2375.         mulscc  %o4,%i2,%o4
  2376.         mulscc  %o4,%i2,%o4
  2377.         mulscc  %o4,%i2,%o4
  2378.         mulscc  %o4,%i2,%o4
  2379.         mulscc  %o4,%i2,%o4
  2380.         mulscc  %o4,%i2,%o4
  2381.         mulscc  %o4,%i2,%o4
  2382.         mulscc  %o4,%g0,%o4
  2383.         rd      %y,%o5
  2384.         sll     %o4,12,%o4
  2385.         srl     %o5,20,%o5
  2386.         or      %o5,%o4,%o3
  2387. 3:       
  2388.  
  2389.     st %g4,[%fp-20]
  2390.     ld [%l2+4],%o0
  2391.     cmp %o3,%o0
  2392.     sub %o3,%o0,%o5
  2393.     ld [%fp-20],%o3
  2394.     addx %g0,0,%o2
  2395.     subx %o3,%g2,%o1
  2396.     cmp %g2,%o3
  2397.     bgu L432
  2398.     mov %g2,%o0
  2399.     b L436
  2400.     cmp %o0,%o3
  2401. L388:
  2402.     mov %i2,%o0
  2403.     cmp %o3,%o0
  2404.     sub %o3,%o0,%o5
  2405.     mov %o4,%o3
  2406.     mov %i1,%o0
  2407.     addx %g0,0,%o2
  2408.     subx %o3,%o0,%o1
  2409.     cmp %o0,%o3
  2410.     bleu L436
  2411.     add %o7,-1,%o7
  2412. L432:
  2413.     b L385
  2414.     mov 1,%o2
  2415. L436:
  2416.     blu,a L385
  2417.     mov 0,%o2
  2418. L385:
  2419.     cmp %o2,0
  2420.     bne L377
  2421.     mov %o1,%o4
  2422.     cmp %o1,0
  2423.     bne L388
  2424.     mov %o5,%o3
  2425. L377:
  2426.     st %g0,[%fp-20]
  2427. L435:
  2428.     add %l2,%l1,%o0
  2429.     add %o0,-8,%g2
  2430.     addcc %i3,-2,%l0
  2431.     be L390
  2432.     add %i0,%l1,%g3
  2433. L391:
  2434.     ld [%fp-20],%o3
  2435.     add %g3,-4,%g3
  2436.     mov %o7,%o1
  2437.     ld [%g3],%g4
  2438.      
  2439.         or      %o1,%g4,%o4      
  2440.         mov     %o1,%y
  2441.         andncc  %o4,0xfff,%g0
  2442.         be      2f
  2443.         andcc   %g0,%g0,%o4
  2444.         mulscc  %o4,%g4,%o4
  2445.         mulscc  %o4,%g4,%o4
  2446.         mulscc  %o4,%g4,%o4
  2447.         mulscc  %o4,%g4,%o4
  2448.         mulscc  %o4,%g4,%o4
  2449.         mulscc  %o4,%g4,%o4
  2450.         mulscc  %o4,%g4,%o4
  2451.         mulscc  %o4,%g4,%o4
  2452.         mulscc  %o4,%g4,%o4
  2453.         mulscc  %o4,%g4,%o4
  2454.         mulscc  %o4,%g4,%o4
  2455.         mulscc  %o4,%g4,%o4
  2456.         mulscc  %o4,%g4,%o4
  2457.         mulscc  %o4,%g4,%o4
  2458.         mulscc  %o4,%g4,%o4
  2459.         mulscc  %o4,%g4,%o4
  2460.         mulscc  %o4,%g4,%o4
  2461.         mulscc  %o4,%g4,%o4
  2462.         mulscc  %o4,%g4,%o4
  2463.         mulscc  %o4,%g4,%o4
  2464.         mulscc  %o4,%g4,%o4
  2465.         mulscc  %o4,%g4,%o4
  2466.         mulscc  %o4,%g4,%o4
  2467.         mulscc  %o4,%g4,%o4
  2468.         mulscc  %o4,%g4,%o4
  2469.         mulscc  %o4,%g4,%o4
  2470.         mulscc  %o4,%g4,%o4
  2471.         mulscc  %o4,%g4,%o4
  2472.         mulscc  %o4,%g4,%o4
  2473.         mulscc  %o4,%g4,%o4
  2474.         mulscc  %o4,%g4,%o4
  2475.         mulscc  %o4,%g4,%o4
  2476.         mulscc  %o4,%g0,%o4
  2477.         tst     %g4
  2478.         bl,a    1f
  2479.         add     %o4,%o1,%o4
  2480. 1:      mov     %o4,%g1
  2481.         b       3f 
  2482.         rd      %y,%o1
  2483. 2:      clr     %g1
  2484.         mulscc  %o4,%g4,%o4
  2485.         mulscc  %o4,%g4,%o4
  2486.         mulscc  %o4,%g4,%o4
  2487.         mulscc  %o4,%g4,%o4
  2488.         mulscc  %o4,%g4,%o4
  2489.         mulscc  %o4,%g4,%o4
  2490.         mulscc  %o4,%g4,%o4
  2491.         mulscc  %o4,%g4,%o4
  2492.         mulscc  %o4,%g4,%o4
  2493.         mulscc  %o4,%g4,%o4
  2494.         mulscc  %o4,%g4,%o4
  2495.         mulscc  %o4,%g4,%o4
  2496.         mulscc  %o4,%g0,%o4
  2497.         rd      %y,%o5
  2498.         sll     %o4,12,%o4
  2499.         srl     %o5,20,%o5
  2500.         or      %o5,%o4,%o1
  2501. 3:       
  2502.  
  2503.     st %g1,[%fp-20]
  2504.     ld [%fp-20],%g1
  2505.     addcc %o3,%o1,%o2
  2506.     addx %g1,%g0,%g1
  2507.     st %g1,[%fp-20]
  2508.     add %g2,-4,%g2
  2509.     ld [%g2],%o3
  2510.     sub %o3,%o2,%o1
  2511.     cmp %o3,%o2
  2512.     st %o1,[%g2]
  2513.     ld [%fp-20],%o0
  2514.     addx %g0,%o0,%o0
  2515.     addcc %l0,-1,%l0
  2516.     bne L391
  2517.     st %o0,[%fp-20]
  2518. L390:
  2519.     ld [%l2-4],%o1
  2520.     ld [%fp-20],%o0
  2521.     cmp %o1,%o0
  2522.     bgeu,a L437
  2523.     addcc %l3,-1,%l3
  2524.     mov 0,%o2
  2525.     add %o7,-1,%o7
  2526.     add %l2,%l1,%g2
  2527.     add %g2,-8,%g2
  2528.     addcc %i3,-2,%l0
  2529.     be L392
  2530.     add %i0,%l1,%g3
  2531.     add %g2,-4,%g2
  2532. L438:
  2533.     subcc %g0,%o2,%g0
  2534.     add %g3,-4,%g3
  2535.     ld [%g2],%g4
  2536.     ld [%g3],%g1
  2537.     addxcc %g4,%g1,%g4
  2538.     st %g4,[%g2]
  2539.     addx %g0,%g0,%o2
  2540.     addcc %l0,-1,%l0
  2541.     bne,a L438
  2542.     add %g2,-4,%g2
  2543. L392:
  2544.     addcc %l3,-1,%l3
  2545. L437:
  2546.     bne L396
  2547.     st %o7,[%l2-4]
  2548. L374:
  2549.     sethi %hi(_avma),%o0
  2550.     cmp %i4,-1
  2551.     be L397
  2552.     ld [%o0+%lo(_avma)],%i0
  2553.     add %i5,2,%l1
  2554.     sll %l1,2,%o0
  2555.     add %l5,%o0,%l2
  2556.     ld [%l5+4],%o0
  2557.     cmp %o0,0
  2558.     be L398
  2559.     cmp %i5,0
  2560.     b L399
  2561.     add %i5,3,%l1
  2562. L398:
  2563.     be,a L399
  2564.     st %g0,[%fp-44]
  2565. L399:
  2566.     call _cgeti,0
  2567.     mov %l1,%o0
  2568.     st %o0,[%fp-52]
  2569.     sll %l1,2,%o0
  2570.     ld [%fp-52],%g4
  2571.     addcc %l1,-2,%l0
  2572.     be L402
  2573.     add %g4,%o0,%o1
  2574. L403:
  2575.     add %o1,-4,%o1
  2576.     add %l2,-4,%l2
  2577.     ld [%l2],%o0
  2578.     addcc %l0,-1,%l0
  2579.     bne L403
  2580.     st %o0,[%o1]
  2581. L402:
  2582.     cmp %l1,2
  2583.     bgu L404
  2584.     mov 2,%o0
  2585.     ld [%fp-52],%g1
  2586.     b L397
  2587.     st %o0,[%g1+4]
  2588. L404:
  2589.     ld [%fp-52],%g4
  2590.     ld [%g4],%o0
  2591.     sethi %hi(-16777216),%o1
  2592.     andn %o0,%o1,%o1
  2593.     ld [%fp-44],%g1
  2594.     sll %g1,24,%o0
  2595.     add %o1,%o0,%o1
  2596.     st %o1,[%g4+4]
  2597. L397:
  2598.     cmp %i4,0
  2599.     be L439
  2600.     cmp %i4,-1
  2601.     add %i5,2,%l0
  2602. L409:
  2603.     cmp %l0,%l6
  2604.     bge L441
  2605.     sll %l0,2,%o0
  2606.     ld [%l5+%o0],%o0
  2607.     cmp %o0,0
  2608.     be,a L409
  2609.     add %l0,1,%l0
  2610.     cmp %l0,%l6
  2611. L441:
  2612.     bne L411
  2613.     sub %l6,%l0,%o0
  2614.     sethi %hi(_gzero),%o0
  2615.     call _icopy,0
  2616.     ld [%o0+%lo(_gzero)],%o0
  2617.     b L406
  2618.     mov %o0,%l4
  2619. L411:
  2620.     call _cgeti,0
  2621.     add %o0,2,%o0
  2622.     mov %o0,%l4
  2623.     ld [%l4],%o0
  2624.     cmp %l7,0
  2625.     bne L413
  2626.     st %o0,[%l4+4]
  2627.     cmp %l0,%l6
  2628.     bge L418
  2629.     mov 2,%l3
  2630. L417:
  2631.     sll %l3,2,%o0
  2632.     sll %l0,2,%o1
  2633.     ld [%l5+%o1],%o1
  2634.     st %o1,[%l4+%o0]
  2635.     add %l0,1,%l0
  2636.     cmp %l0,%l6
  2637.     bl L417
  2638.     add %l3,1,%l3
  2639.     b L440
  2640.     ld [%l4+4],%o0
  2641. L413:
  2642.     st %g0,[%fp-20]
  2643.     sll %l0,2,%o0
  2644.     ld [%l5+%o0],%o3
  2645.     add %l0,1,%l0
  2646.     mov 32,%o0
  2647.     sub %o0,%l7,%o0
  2648.     sll %o3,%o0,%o0
  2649.     st %o0,[%fp-20]
  2650.     srl %o3,%l7,%o2
  2651.     cmp %o2,0
  2652.     be L419
  2653.     mov %o0,%g2
  2654.     st %o2,[%l4+8]
  2655.     b L420
  2656.     mov 1,%o0
  2657. L419:
  2658.     ld [%l4],%o0
  2659.     add %o0,-1,%o0
  2660.     st %o0,[%l4+4]
  2661.     add %l4,4,%l4
  2662.     sethi %hi(_avma),%o1
  2663.     ld [%o1+%lo(_avma)],%o0
  2664.     add %o0,4,%o0
  2665.     st %o0,[%o1+%lo(_avma)]
  2666.     ld [%l4],%o0
  2667.     st %o0,[%l4+4]
  2668.     mov 0,%o0
  2669. L420:
  2670.     cmp %l0,%l6
  2671.     bge L418
  2672.     add %o0,2,%l3
  2673.     mov 32,%o0
  2674.     sub %o0,%l7,%o4
  2675. L424:
  2676.     sll %l3,2,%o2
  2677.     sll %l0,2,%o0
  2678.     ld [%l5+%o0],%o3
  2679.     sll %o3,%o4,%o1
  2680.     st %o1,[%fp-20]
  2681.     srl %o3,%l7,%o0
  2682.     add %o0,%g2,%o0
  2683.     st %o0,[%l4+%o2]
  2684.     mov %o1,%g2
  2685.     add %l0,1,%l0
  2686.     cmp %l0,%l6
  2687.     bl L424
  2688.     add %l3,1,%l3
  2689. L418:
  2690.     ld [%l4+4],%o0
  2691. L440:
  2692.     sethi %hi(-16777216),%o1
  2693.     andn %o0,%o1,%o1
  2694.     ld [%fp-36],%g4
  2695.     sll %g4,24,%o0
  2696.     add %o1,%o0,%o1
  2697.     st %o1,[%l4+4]
  2698. L406:
  2699.     cmp %i4,-1
  2700. L439:
  2701.     bne L425
  2702.     cmp %i4,0
  2703.     ld [%fp-28],%o0
  2704.     mov %i0,%o1
  2705.     call _gerepile,0
  2706.     mov %l4,%o2
  2707.     b L427
  2708.     mov %o0,%i0
  2709. L425:
  2710.     be L426
  2711.     ld [%fp-28],%o0
  2712.     mov %i0,%o1
  2713.     call _gerepile,0
  2714.     mov 0,%o2
  2715.     and %o0,-4,%o0
  2716.     add %l4,%o0,%o1
  2717.     st %o1,[%i4]
  2718.     ld [%fp-52],%g1
  2719.     b L427
  2720.     add %g1,%o0,%i0
  2721. L426:
  2722.     mov %i0,%o1
  2723.     call _gerepile,0
  2724.     ld [%fp-52],%o2
  2725.     mov %o0,%i0
  2726. L427:
  2727.     ret
  2728.     restore
  2729.     .align 4
  2730.     .global _mulul3
  2731.     .proc    016
  2732. _mulul3:
  2733.     !#PROLOGUE# 0
  2734.     save %sp,-112,%sp
  2735.     !#PROLOGUE# 1
  2736.      
  2737.         or      %i0,%i1,%o4      
  2738.         mov     %i0,%y
  2739.         andncc  %o4,0xfff,%g0
  2740.         be      2f
  2741.         andcc   %g0,%g0,%o4
  2742.         mulscc  %o4,%i1,%o4
  2743.         mulscc  %o4,%i1,%o4
  2744.         mulscc  %o4,%i1,%o4
  2745.         mulscc  %o4,%i1,%o4
  2746.         mulscc  %o4,%i1,%o4
  2747.         mulscc  %o4,%i1,%o4
  2748.         mulscc  %o4,%i1,%o4
  2749.         mulscc  %o4,%i1,%o4
  2750.         mulscc  %o4,%i1,%o4
  2751.         mulscc  %o4,%i1,%o4
  2752.         mulscc  %o4,%i1,%o4
  2753.         mulscc  %o4,%i1,%o4
  2754.         mulscc  %o4,%i1,%o4
  2755.         mulscc  %o4,%i1,%o4
  2756.         mulscc  %o4,%i1,%o4
  2757.         mulscc  %o4,%i1,%o4
  2758.         mulscc  %o4,%i1,%o4
  2759.         mulscc  %o4,%i1,%o4
  2760.         mulscc  %o4,%i1,%o4
  2761.         mulscc  %o4,%i1,%o4
  2762.         mulscc  %o4,%i1,%o4
  2763.         mulscc  %o4,%i1,%o4
  2764.         mulscc  %o4,%i1,%o4
  2765.         mulscc  %o4,%i1,%o4
  2766.         mulscc  %o4,%i1,%o4
  2767.         mulscc  %o4,%i1,%o4
  2768.         mulscc  %o4,%i1,%o4
  2769.         mulscc  %o4,%i1,%o4
  2770.         mulscc  %o4,%i1,%o4
  2771.         mulscc  %o4,%i1,%o4
  2772.         mulscc  %o4,%i1,%o4
  2773.         mulscc  %o4,%i1,%o4
  2774.         mulscc  %o4,%g0,%o4
  2775.         tst     %i1
  2776.         bl,a    1f
  2777.         add     %o4,%i0,%o4
  2778. 1:      mov     %o4,%g2
  2779.         b       3f 
  2780.         rd      %y,%i0
  2781. 2:      clr     %g2
  2782.         mulscc  %o4,%i1,%o4
  2783.         mulscc  %o4,%i1,%o4
  2784.         mulscc  %o4,%i1,%o4
  2785.         mulscc  %o4,%i1,%o4
  2786.         mulscc  %o4,%i1,%o4
  2787.         mulscc  %o4,%i1,%o4
  2788.         mulscc  %o4,%i1,%o4
  2789.         mulscc  %o4,%i1,%o4
  2790.         mulscc  %o4,%i1,%o4
  2791.         mulscc  %o4,%i1,%o4
  2792.         mulscc  %o4,%i1,%o4
  2793.         mulscc  %o4,%i1,%o4
  2794.         mulscc  %o4,%g0,%o4
  2795.         rd      %y,%o5
  2796.         sll     %o4,12,%o4
  2797.         srl     %o5,20,%o5
  2798.         or      %o5,%o4,%i0
  2799. 3:       
  2800.  
  2801.     st %g2,[%i2]
  2802.     ret
  2803.     restore
  2804.     .global _in_saved_avma
  2805.     .common _in_saved_avma,8,"bss"
  2806.