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-sol-sparc.s < prev    next >
Encoding:
Text File  |  1994-04-29  |  45.6 KB  |  2,853 lines

  1.     .file    "mpi.c"
  2. .section    ".text"
  3.     .align 4
  4.     .global mulsi
  5.     .type     mulsi,#function
  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 .LL3
  18.     and %o1,%o0,%l1
  19.     cmp %l2,0
  20.     bne .LL2
  21.     cmp %l0,0
  22. .LL3:
  23.     sethi %hi(gzero),%o0
  24.     b .LL11
  25.     ld [%o0+%lo(gzero)],%i0
  26. .LL2:
  27.     bge .LL4
  28.     nop
  29.     subcc %g0,%l0,%l0
  30.     bpos .LL4
  31.     sub %g0,%l2,%l2
  32.     call stoi,0
  33.     sethi %hi(-2147483648),%o0
  34.     call mulii,0
  35.     mov %i1,%o1
  36.     b .LL11
  37.     mov %o0,%i0
  38. .LL4:
  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 .LL7
  48.     add %g2,4,%g2
  49. .LL8:
  50.     add %g2,-4,%g2
  51.     mov %o2,%o0
  52.     add %i1,-4,%i1
  53.     mov %l0,%o1
  54.     ld [%i1],%g3
  55.      
  56.         or      %o1,%g3,%o4      
  57.         mov     %o1,%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,%o1,%o4
  97. 1:      mov     %o4,%o2
  98.         b       3f 
  99.         rd      %y,%o1
  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,%o1
  118. 3:       
  119.  
  120.     addcc %o0,%o1,%o0
  121.     addx %o2,%g0,%o2
  122.     addcc %o3,-1,%o3
  123.     bne .LL8
  124.     st %o0,[%g2]
  125. .LL7:
  126.     cmp %o2,0
  127.     be .LL9
  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 .LL12
  134.     add %o0,1,%o0
  135. .LL9:
  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. .LL12:
  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. .LL11:
  157.     ret
  158.     restore
  159. .LLfe1:
  160.     .size     mulsi,.LLfe1-mulsi
  161.     .align 4
  162.     .global expi
  163.     .type     expi,#function
  164.     .proc    04
  165. expi:
  166.     !#PROLOGUE# 0
  167.     save %sp,-112,%sp
  168.     !#PROLOGUE# 1
  169.     ld [%i0+4],%o1
  170.     sethi %hi(65535),%o0
  171.     or %o0,%lo(65535),%o0
  172.     and %o1,%o0,%l0
  173.     cmp %l0,2
  174.     be,a .LL15
  175.     sethi %hi(-8388608),%i0
  176.     call bfffo,0
  177.     ld [%i0+8],%o0
  178.     add %l0,-2,%i0
  179.     sll %i0,5,%i0
  180.     sub %i0,%o0,%i0
  181.     add %i0,-1,%i0
  182. .LL15:
  183.     ret
  184.     restore
  185. .LLfe2:
  186.     .size     expi,.LLfe2-expi
  187.     .align 4
  188.     .global addsi
  189.     .type     addsi,#function
  190.     .proc    0105
  191. addsi:
  192.     !#PROLOGUE# 0
  193.     save %sp,-112,%sp
  194.     !#PROLOGUE# 1
  195.     orcc %i0,%g0,%l1
  196.     bne,a .LL17
  197.     ldsb [%i1+4],%l3
  198.     call icopy,0
  199.     mov %i1,%o0
  200.     b .LL59
  201.     mov %o0,%i0
  202. .LL17:
  203.     cmp %l3,0
  204.     bne .LL18
  205.     cmp %l1,0
  206.     call stoi,0
  207.     mov %l1,%o0
  208.     b .LL59
  209.     mov %o0,%i0
  210. .LL18:
  211.     bge,a .LL21
  212.     mov 1,%l4
  213.     subcc %g0,%l1,%l1
  214.     bpos .LL21
  215.     mov -1,%l4
  216.     sethi %hi(MOST_NEGS),%o0
  217.     or %o0,%lo(MOST_NEGS),%o0
  218.     call addii,0
  219.     mov %i1,%o1
  220.     b .LL59
  221.     mov %o0,%i0
  222. .LL21:
  223.     ld [%i1+4],%o1
  224.     sethi %hi(65535),%o0
  225.     or %o0,%lo(65535),%o0
  226.     cmp %l4,%l3
  227.     bne .LL22
  228.     and %o1,%o0,%l0
  229.     mov %l1,%o1
  230.     sll %l0,2,%l2
  231.     add %l2,%i1,%o0
  232.     ld [%o0-4],%o0
  233.     add %o1,%o0,%o0
  234.     cmp %o0,%o1
  235.     bgeu .LL23
  236.     mov %o0,%l1
  237.     call cgeti,0
  238.     add %l0,1,%o0
  239.     mov %o0,%i0
  240.     add %l0,-1,%o2
  241.     cmp %o2,2
  242.     ble .LL64
  243.     st %l1,[%i0+%l2]
  244.     sll %o2,2,%o0
  245.     mov %o0,%o1
  246.     b .LL60
  247.     add %o0,%i1,%o0
  248. .LL27:
  249.     cmp %o2,2
  250.     ble .LL64
  251.     st %g0,[%i0+%o1]
  252.     sll %o2,2,%o1
  253.     add %o1,%i1,%o0
  254. .LL60:
  255.     ld [%o0-4],%o0
  256.     cmp %o0,-1
  257.     be,a .LL27
  258.     add %o2,-1,%o2
  259.     cmp %o2,2
  260. .LL64:
  261.     ble .LL28
  262.     sll %o2,2,%o1
  263.     add %o1,%i1,%o0
  264.     ld [%o0-4],%o0
  265.     add %o0,1,%o0
  266.     b .LL61
  267.     st %o0,[%i0+%o1]
  268. .LL31:
  269.     add %o0,%i1,%o1
  270.     ld [%o1-4],%o1
  271.     st %o1,[%i0+%o0]
  272. .LL61:
  273.     add %o2,-1,%o2
  274.     cmp %o2,2
  275.     bg .LL31
  276.     sll %o2,2,%o0
  277.     ld [%i0],%o0
  278.     add %o0,-1,%o0
  279.     st %o0,[%i0+4]
  280.     st %o0,[%i0+8]
  281.     add %i0,4,%i0
  282.     sethi %hi(avma),%o1
  283.     ld [%o1+%lo(avma)],%o0
  284.     add %o0,4,%o0
  285.     b .LL33
  286.     st %o0,[%o1+%lo(avma)]
  287. .LL28:
  288.     mov 1,%o0
  289.     st %o0,[%i0+8]
  290.     ld [%i0],%o0
  291.     b .LL33
  292.     st %o0,[%i0+4]
  293. .LL23:
  294.     call cgeti,0
  295.     mov %l0,%o0
  296.     mov %o0,%i0
  297.     sll %l0,2,%o0
  298.     add %o0,%i0,%o0
  299.     st %l1,[%o0-4]
  300.     mov 1,%o2
  301.     add %l0,-1,%o0
  302.     cmp %o2,%o0
  303.     bge .LL33
  304.     mov %o0,%o3
  305. .LL37:
  306.     sll %o2,2,%o1
  307.     ld [%i1+%o1],%o0
  308.     add %o2,1,%o2
  309.     cmp %o2,%o3
  310.     bl .LL37
  311.     st %o0,[%i0+%o1]
  312. .LL33:
  313.     ld [%i0+4],%o0
  314.     sethi %hi(-16777216),%o1
  315.     andn %o0,%o1,%o1
  316.     sll %l4,24,%o0
  317.     add %o1,%o0,%o1
  318.     b .LL59
  319.     st %o1,[%i0+4]
  320. .LL22:
  321.     cmp %l0,3
  322.     bne .LL39
  323.     sll %l0,2,%l2
  324.     ld [%i1+8],%o0
  325.     cmp %o0,%l1
  326.     bleu .LL40
  327.     nop
  328.     call cgeti,0
  329.     mov 3,%o0
  330.     mov %o0,%i0
  331.     sll %l3,24,%o0
  332.     add %o0,3,%o0
  333.     st %o0,[%i0+4]
  334.     ld [%i1+8],%o0
  335.     sub %o0,%l1,%o0
  336.     b .LL59
  337.     st %o0,[%i0+8]
  338. .LL40:
  339.     bne .LL41
  340.     sethi %hi(gzero),%o0
  341.     b .LL59
  342.     ld [%o0+%lo(gzero)],%i0
  343. .LL41:
  344.     call cgeti,0
  345.     mov 3,%o0
  346.     mov %o0,%i0
  347.     sub %g0,%l3,%o0
  348.     sll %o0,24,%o0
  349.     add %o0,3,%o0
  350.     st %o0,[%i0+4]
  351.     ld [%i1+8],%o0
  352.     sub %l1,%o0,%o0
  353.     b .LL59
  354.     st %o0,[%i0+8]
  355. .LL39:
  356.     add %l2,%i1,%o0
  357.     ld [%o0-4],%o1
  358.     mov %l1,%o0
  359.     cmp %o1,%o0
  360.     bgeu .LL42
  361.     sub %o1,%o0,%l1
  362.     call cgeti,0
  363.     mov %l0,%o0
  364.     mov %o0,%i0
  365.     add %l2,%i0,%o0
  366.     st %l1,[%o0-4]
  367.     add %l0,-2,%o2
  368.     sll %o2,2,%o0
  369.     mov %o0,%o1
  370.     ld [%i1+%o0],%o0
  371.     cmp %o0,0
  372.     bne,a .LL62
  373.     sll %o2,2,%o1
  374.     mov -1,%o3
  375.     st %o3,[%i0+%o1]
  376. .LL63:
  377.     add %o2,-1,%o2
  378.     sll %o2,2,%o1
  379.     ld [%i1+%o1],%o0
  380.     cmp %o0,0
  381.     be,a .LL63
  382.     st %o3,[%i0+%o1]
  383.     sll %o2,2,%o1
  384. .LL62:
  385.     ld [%i1+%o1],%o0
  386.     add %o0,-1,%o0
  387.     cmp %o2,2
  388.     bg .LL48
  389.     st %o0,[%i0+%o1]
  390.     cmp %o0,0
  391.     be,a .LL47
  392.     ld [%i0],%o0
  393. .LL48:
  394.     add %o2,-1,%o2
  395.     cmp %o2,0
  396.     ble .LL59
  397.     nop
  398. .LL52:
  399.     sll %o2,2,%o1
  400.     ld [%i1+%o1],%o0
  401.     add %o2,-1,%o2
  402.     cmp %o2,0
  403.     bg .LL52
  404.     st %o0,[%i0+%o1]
  405.     b,a .LL59
  406. .LL47:
  407.     add %o0,-1,%o0
  408.     st %o0,[%i0+4]
  409.     st %o0,[%i0+8]
  410.     add %i0,4,%i0
  411.     sethi %hi(avma),%o1
  412.     ld [%o1+%lo(avma)],%o0
  413.     add %o0,4,%o0
  414.     st %o0,[%o1+%lo(avma)]
  415.     ld [%i0+4],%o1
  416.     sethi %hi(-16777216),%o0
  417.     andn %o1,%o0,%o0
  418.     sll %l3,24,%o1
  419.     add %o0,%o1,%o0
  420.     b .LL59
  421.     st %o0,[%i0+4]
  422. .LL42:
  423.     call cgeti,0
  424.     mov %l0,%o0
  425.     mov %o0,%i0
  426.     sll %l0,2,%o0
  427.     add %o0,%i0,%o0
  428.     st %l1,[%o0-4]
  429.     mov 1,%o2
  430.     add %l0,-1,%o0
  431.     cmp %o2,%o0
  432.     bge .LL59
  433.     mov %o0,%o3
  434. .LL58:
  435.     sll %o2,2,%o1
  436.     ld [%i1+%o1],%o0
  437.     add %o2,1,%o2
  438.     cmp %o2,%o3
  439.     bl .LL58
  440.     st %o0,[%i0+%o1]
  441. .LL59:
  442.     ret
  443.     restore
  444. .LLfe3:
  445.     .size     addsi,.LLfe3-addsi
  446.     .align 4
  447.     .global addii
  448.     .type     addii,#function
  449.     .proc    0105
  450. addii:
  451.     !#PROLOGUE# 0
  452.     save %sp,-112,%sp
  453.     !#PROLOGUE# 1
  454.     mov %i0,%l0
  455.     ld [%l0+4],%o0
  456.     sethi %hi(65535),%o1
  457.     or %o1,%lo(65535),%o1
  458.     and %o0,%o1,%l1
  459.     ld [%i1+4],%o0
  460.     and %o0,%o1,%l2
  461.     cmp %l1,%l2
  462.     bge,a .LL188
  463.     ldsb [%i1+4],%o5
  464.     mov %i1,%l0
  465.     mov %i0,%i1
  466.     mov %l1,%l3
  467.     mov %l2,%l1
  468.     mov %l3,%l2
  469.     ldsb [%i1+4],%o5
  470. .LL188:
  471.     cmp %o5,0
  472.     bne,a .LL67
  473.     ldsb [%l0+4],%l3
  474.     call icopy,0
  475.     mov %l0,%o0
  476.     b .LL185
  477.     mov %o0,%i0
  478. .LL67:
  479.     cmp %l3,%o5
  480.     bne .LL68
  481.     cmp %l1,%l2
  482.     call cgeti,0
  483.     add %l1,1,%o0
  484.     mov %o0,%i0
  485.     mov 0,%o2
  486.     sll %l1,2,%o0
  487.     add %i0,%o0,%o4
  488.     add %o4,4,%o4
  489.     add %l0,%o0,%o3
  490.     sll %l2,2,%o0
  491.     add %i1,%o0,%o1
  492.     add %l2,-2,%o5
  493.     sethi %hi(.LL106),%o0
  494.     or %o0,%lo(.LL106),%g2
  495.     add %o5,-1,%o0
  496. .LL204:
  497.     cmp %o0,15
  498.     bgu .LL74
  499.     sll %o0,2,%o0
  500.     ld [%o0+%g2],%o0
  501.     jmp %o0
  502.     nop
  503.     .align 4
  504. .LL106:
  505.     .word    .LL104
  506.     .word    .LL102
  507.     .word    .LL100
  508.     .word    .LL98
  509.     .word    .LL96
  510.     .word    .LL94
  511.     .word    .LL92
  512.     .word    .LL90
  513.     .word    .LL88
  514.     .word    .LL86
  515.     .word    .LL84
  516.     .word    .LL82
  517.     .word    .LL80
  518.     .word    .LL78
  519.     .word    .LL76
  520.     .word    .LL74
  521. .LL74:
  522.     subcc %g0,%o2,%g0
  523.     b .LL75
  524.     add %o4,-4,%o4
  525. .LL76:
  526.     subcc %g0,%o2,%g0
  527.     b .LL189
  528.     add %o4,-4,%o4
  529. .LL78:
  530.     subcc %g0,%o2,%g0
  531.     b .LL190
  532.     add %o4,-4,%o4
  533. .LL80:
  534.     subcc %g0,%o2,%g0
  535.     b .LL191
  536.     add %o4,-4,%o4
  537. .LL82:
  538.     subcc %g0,%o2,%g0
  539.     b .LL192
  540.     add %o4,-4,%o4
  541. .LL84:
  542.     subcc %g0,%o2,%g0
  543.     b .LL193
  544.     add %o4,-4,%o4
  545. .LL86:
  546.     subcc %g0,%o2,%g0
  547.     b .LL194
  548.     add %o4,-4,%o4
  549. .LL88:
  550.     subcc %g0,%o2,%g0
  551.     b .LL195
  552.     add %o4,-4,%o4
  553. .LL90:
  554.     subcc %g0,%o2,%g0
  555.     b .LL196
  556.     add %o4,-4,%o4
  557. .LL92:
  558.     subcc %g0,%o2,%g0
  559.     b .LL197
  560.     add %o4,-4,%o4
  561. .LL94:
  562.     subcc %g0,%o2,%g0
  563.     b .LL198
  564.     add %o4,-4,%o4
  565. .LL96:
  566.     subcc %g0,%o2,%g0
  567.     b .LL199
  568.     add %o4,-4,%o4
  569. .LL98:
  570.     subcc %g0,%o2,%g0
  571.     b .LL200
  572.     add %o4,-4,%o4
  573. .LL100:
  574.     subcc %g0,%o2,%g0
  575.     b .LL201
  576.     add %o4,-4,%o4
  577. .LL102:
  578.     subcc %g0,%o2,%g0
  579.     b .LL202
  580.     add %o4,-4,%o4
  581. .LL104:
  582.     subcc %g0,%o2,%g0
  583.     b .LL203
  584.     add %o4,-4,%o4
  585. .LL75:
  586.     add %o3,-4,%o3
  587.     add %o1,-4,%o1
  588.     ld [%o3],%l4
  589.     ld [%o1],%g3
  590.     addxcc %l4,%g3,%l4
  591.     st %l4,[%o4]
  592.     add %o4,-4,%o4
  593. .LL189:
  594.     add %o3,-4,%o3
  595.     add %o1,-4,%o1
  596.     ld [%o3],%l4
  597.     ld [%o1],%g3
  598.     addxcc %l4,%g3,%l4
  599.     st %l4,[%o4]
  600.     add %o4,-4,%o4
  601. .LL190:
  602.     add %o3,-4,%o3
  603.     add %o1,-4,%o1
  604.     ld [%o3],%l4
  605.     ld [%o1],%g3
  606.     addxcc %l4,%g3,%l4
  607.     st %l4,[%o4]
  608.     add %o4,-4,%o4
  609. .LL191:
  610.     add %o3,-4,%o3
  611.     add %o1,-4,%o1
  612.     ld [%o3],%l4
  613.     ld [%o1],%g3
  614.     addxcc %l4,%g3,%l4
  615.     st %l4,[%o4]
  616.     add %o4,-4,%o4
  617. .LL192:
  618.     add %o3,-4,%o3
  619.     add %o1,-4,%o1
  620.     ld [%o3],%l4
  621.     ld [%o1],%g3
  622.     addxcc %l4,%g3,%l4
  623.     st %l4,[%o4]
  624.     add %o4,-4,%o4
  625. .LL193:
  626.     add %o3,-4,%o3
  627.     add %o1,-4,%o1
  628.     ld [%o3],%l4
  629.     ld [%o1],%g3
  630.     addxcc %l4,%g3,%l4
  631.     st %l4,[%o4]
  632.     add %o4,-4,%o4
  633. .LL194:
  634.     add %o3,-4,%o3
  635.     add %o1,-4,%o1
  636.     ld [%o3],%l4
  637.     ld [%o1],%g3
  638.     addxcc %l4,%g3,%l4
  639.     st %l4,[%o4]
  640.     add %o4,-4,%o4
  641. .LL195:
  642.     add %o3,-4,%o3
  643.     add %o1,-4,%o1
  644.     ld [%o3],%l4
  645.     ld [%o1],%g3
  646.     addxcc %l4,%g3,%l4
  647.     st %l4,[%o4]
  648.     add %o4,-4,%o4
  649. .LL196:
  650.     add %o3,-4,%o3
  651.     add %o1,-4,%o1
  652.     ld [%o3],%l4
  653.     ld [%o1],%g3
  654.     addxcc %l4,%g3,%l4
  655.     st %l4,[%o4]
  656.     add %o4,-4,%o4
  657. .LL197:
  658.     add %o3,-4,%o3
  659.     add %o1,-4,%o1
  660.     ld [%o3],%l4
  661.     ld [%o1],%g3
  662.     addxcc %l4,%g3,%l4
  663.     st %l4,[%o4]
  664.     add %o4,-4,%o4
  665. .LL198:
  666.     add %o3,-4,%o3
  667.     add %o1,-4,%o1
  668.     ld [%o3],%l4
  669.     ld [%o1],%g3
  670.     addxcc %l4,%g3,%l4
  671.     st %l4,[%o4]
  672.     add %o4,-4,%o4
  673. .LL199:
  674.     add %o3,-4,%o3
  675.     add %o1,-4,%o1
  676.     ld [%o3],%l4
  677.     ld [%o1],%g3
  678.     addxcc %l4,%g3,%l4
  679.     st %l4,[%o4]
  680.     add %o4,-4,%o4
  681. .LL200:
  682.     add %o3,-4,%o3
  683.     add %o1,-4,%o1
  684.     ld [%o3],%l4
  685.     ld [%o1],%g3
  686.     addxcc %l4,%g3,%l4
  687.     st %l4,[%o4]
  688.     add %o4,-4,%o4
  689. .LL201:
  690.     add %o3,-4,%o3
  691.     add %o1,-4,%o1
  692.     ld [%o3],%l4
  693.     ld [%o1],%g3
  694.     addxcc %l4,%g3,%l4
  695.     st %l4,[%o4]
  696.     add %o4,-4,%o4
  697. .LL202:
  698.     add %o3,-4,%o3
  699.     add %o1,-4,%o1
  700.     ld [%o3],%l4
  701.     ld [%o1],%g3
  702.     addxcc %l4,%g3,%l4
  703.     st %l4,[%o4]
  704.     add %o4,-4,%o4
  705. .LL203:
  706.     add %o3,-4,%o3
  707.     add %o1,-4,%o1
  708.     ld [%o3],%l4
  709.     ld [%o1],%g3
  710.     addxcc %l4,%g3,%l4
  711.     st %l4,[%o4]
  712.     addx %g0,%g0,%o2
  713.     add %o5,-16,%o5
  714.     cmp %o5,0
  715.     bg .LL204
  716.     add %o5,-1,%o0
  717.     cmp %o2,0
  718.     be .LL107
  719.     add %l0,8,%o2
  720. .LL108:
  721.     add %o3,-4,%o3
  722.     cmp %o3,%o2
  723.     blu .LL109
  724.     mov %o3,%o1
  725.     ld [%o3],%o0
  726.     cmp %o0,-1
  727.     bne,a .LL110
  728.     add %o4,-4,%o4
  729.     add %o4,-4,%o4
  730.     b .LL108
  731.     st %g0,[%o4]
  732. .LL110:
  733.     ld [%o1],%o0
  734.     b .LL187
  735.     add %o0,1,%o0
  736. .LL114:
  737.     add %o4,-4,%o4
  738.     ld [%o1],%o0
  739. .LL187:
  740.     st %o0,[%o4]
  741.     add %o3,-4,%o3
  742.     cmp %o3,%o2
  743.     bgeu .LL114
  744.     mov %o3,%o1
  745.     b .LL205
  746.     ld [%i0],%o0
  747. .LL109:
  748.     mov 1,%o0
  749.     st %o0,[%i0+8]
  750.     ld [%l0+4],%o0
  751.     add %o0,1,%o0
  752.     b .LL185
  753.     st %o0,[%i0+4]
  754. .LL107:
  755.     subcc %l1,%l2,%o2
  756.     be,a .LL205
  757.     ld [%i0],%o0
  758. .LL119:
  759.     add %o4,-4,%o4
  760.     add %o3,-4,%o3
  761.     ld [%o3],%o0
  762.     addcc %o2,-1,%o2
  763.     bne .LL119
  764.     st %o0,[%o4]
  765.     ld [%i0],%o0
  766. .LL205:
  767.     add %o0,-1,%o0
  768.     st %o0,[%i0+4]
  769.     ld [%l0+4],%o0
  770.     st %o0,[%i0+8]
  771.     add %i0,4,%i0
  772.     sethi %hi(avma),%o1
  773.     ld [%o1+%lo(avma)],%o0
  774.     add %o0,4,%o0
  775.     b .LL185
  776.     st %o0,[%o1+%lo(avma)]
  777. .LL68:
  778.     bne .LL121
  779.     add %l0,8,%o3
  780.     addcc %l1,-2,%o2
  781.     be .LL129
  782.     add %i1,8,%o1
  783.     ld [%o3],%o4
  784. .LL206:
  785.     add %o3,4,%o3
  786.     ld [%o1],%o0
  787.     cmp %o0,%o4
  788.     bgu .LL186
  789.     add %o1,4,%o1
  790.     cmp %o4,%o0
  791.     bgu .LL121
  792.     addcc %o2,-1,%o2
  793.     bne,a .LL206
  794.     ld [%o3],%o4
  795. .LL129:
  796.     sethi %hi(gzero),%o0
  797.     b .LL185
  798.     ld [%o0+%lo(gzero)],%i0
  799. .LL186:
  800.     mov %l0,%i0
  801.     mov %i1,%l0
  802.     mov %i0,%i1
  803.     mov %o5,%l3
  804. .LL121:
  805.     call cgeti,0
  806.     mov %l1,%o0
  807.     mov %o0,%i0
  808.     mov 0,%o2
  809.     sll %l1,2,%o0
  810.     add %l0,%o0,%o3
  811.     sll %l2,2,%o1
  812.     add %i1,%o1,%o1
  813.     add %i0,%o0,%o4
  814.     add %l2,-2,%o5
  815.     sethi %hi(.LL167),%o0
  816.     or %o0,%lo(.LL167),%g2
  817.     add %o5,-1,%o0
  818. .LL222:
  819.     cmp %o0,15
  820.     bgu .LL135
  821.     sll %o0,2,%o0
  822.     ld [%o0+%g2],%o0
  823.     jmp %o0
  824.     nop
  825.     .align 4
  826. .LL167:
  827.     .word    .LL165
  828.     .word    .LL163
  829.     .word    .LL161
  830.     .word    .LL159
  831.     .word    .LL157
  832.     .word    .LL155
  833.     .word    .LL153
  834.     .word    .LL151
  835.     .word    .LL149
  836.     .word    .LL147
  837.     .word    .LL145
  838.     .word    .LL143
  839.     .word    .LL141
  840.     .word    .LL139
  841.     .word    .LL137
  842.     .word    .LL135
  843. .LL135:
  844.     subcc %g0,%o2,%g0
  845.     b .LL136
  846.     add %o4,-4,%o4
  847. .LL137:
  848.     subcc %g0,%o2,%g0
  849.     b .LL207
  850.     add %o4,-4,%o4
  851. .LL139:
  852.     subcc %g0,%o2,%g0
  853.     b .LL208
  854.     add %o4,-4,%o4
  855. .LL141:
  856.     subcc %g0,%o2,%g0
  857.     b .LL209
  858.     add %o4,-4,%o4
  859. .LL143:
  860.     subcc %g0,%o2,%g0
  861.     b .LL210
  862.     add %o4,-4,%o4
  863. .LL145:
  864.     subcc %g0,%o2,%g0
  865.     b .LL211
  866.     add %o4,-4,%o4
  867. .LL147:
  868.     subcc %g0,%o2,%g0
  869.     b .LL212
  870.     add %o4,-4,%o4
  871. .LL149:
  872.     subcc %g0,%o2,%g0
  873.     b .LL213
  874.     add %o4,-4,%o4
  875. .LL151:
  876.     subcc %g0,%o2,%g0
  877.     b .LL214
  878.     add %o4,-4,%o4
  879. .LL153:
  880.     subcc %g0,%o2,%g0
  881.     b .LL215
  882.     add %o4,-4,%o4
  883. .LL155:
  884.     subcc %g0,%o2,%g0
  885.     b .LL216
  886.     add %o4,-4,%o4
  887. .LL157:
  888.     subcc %g0,%o2,%g0
  889.     b .LL217
  890.     add %o4,-4,%o4
  891. .LL159:
  892.     subcc %g0,%o2,%g0
  893.     b .LL218
  894.     add %o4,-4,%o4
  895. .LL161:
  896.     subcc %g0,%o2,%g0
  897.     b .LL219
  898.     add %o4,-4,%o4
  899. .LL163:
  900.     subcc %g0,%o2,%g0
  901.     b .LL220
  902.     add %o4,-4,%o4
  903. .LL165:
  904.     subcc %g0,%o2,%g0
  905.     b .LL221
  906.     add %o4,-4,%o4
  907. .LL136:
  908.     add %o3,-4,%o3
  909.     add %o1,-4,%o1
  910.     ld [%o3],%l4
  911.     ld [%o1],%g3
  912.     subxcc %l4,%g3,%l4
  913.     st %l4,[%o4]
  914.     add %o4,-4,%o4
  915. .LL207:
  916.     add %o3,-4,%o3
  917.     add %o1,-4,%o1
  918.     ld [%o3],%l4
  919.     ld [%o1],%g3
  920.     subxcc %l4,%g3,%l4
  921.     st %l4,[%o4]
  922.     add %o4,-4,%o4
  923. .LL208:
  924.     add %o3,-4,%o3
  925.     add %o1,-4,%o1
  926.     ld [%o3],%l4
  927.     ld [%o1],%g3
  928.     subxcc %l4,%g3,%l4
  929.     st %l4,[%o4]
  930.     add %o4,-4,%o4
  931. .LL209:
  932.     add %o3,-4,%o3
  933.     add %o1,-4,%o1
  934.     ld [%o3],%l4
  935.     ld [%o1],%g3
  936.     subxcc %l4,%g3,%l4
  937.     st %l4,[%o4]
  938.     add %o4,-4,%o4
  939. .LL210:
  940.     add %o3,-4,%o3
  941.     add %o1,-4,%o1
  942.     ld [%o3],%l4
  943.     ld [%o1],%g3
  944.     subxcc %l4,%g3,%l4
  945.     st %l4,[%o4]
  946.     add %o4,-4,%o4
  947. .LL211:
  948.     add %o3,-4,%o3
  949.     add %o1,-4,%o1
  950.     ld [%o3],%l4
  951.     ld [%o1],%g3
  952.     subxcc %l4,%g3,%l4
  953.     st %l4,[%o4]
  954.     add %o4,-4,%o4
  955. .LL212:
  956.     add %o3,-4,%o3
  957.     add %o1,-4,%o1
  958.     ld [%o3],%l4
  959.     ld [%o1],%g3
  960.     subxcc %l4,%g3,%l4
  961.     st %l4,[%o4]
  962.     add %o4,-4,%o4
  963. .LL213:
  964.     add %o3,-4,%o3
  965.     add %o1,-4,%o1
  966.     ld [%o3],%l4
  967.     ld [%o1],%g3
  968.     subxcc %l4,%g3,%l4
  969.     st %l4,[%o4]
  970.     add %o4,-4,%o4
  971. .LL214:
  972.     add %o3,-4,%o3
  973.     add %o1,-4,%o1
  974.     ld [%o3],%l4
  975.     ld [%o1],%g3
  976.     subxcc %l4,%g3,%l4
  977.     st %l4,[%o4]
  978.     add %o4,-4,%o4
  979. .LL215:
  980.     add %o3,-4,%o3
  981.     add %o1,-4,%o1
  982.     ld [%o3],%l4
  983.     ld [%o1],%g3
  984.     subxcc %l4,%g3,%l4
  985.     st %l4,[%o4]
  986.     add %o4,-4,%o4
  987. .LL216:
  988.     add %o3,-4,%o3
  989.     add %o1,-4,%o1
  990.     ld [%o3],%l4
  991.     ld [%o1],%g3
  992.     subxcc %l4,%g3,%l4
  993.     st %l4,[%o4]
  994.     add %o4,-4,%o4
  995. .LL217:
  996.     add %o3,-4,%o3
  997.     add %o1,-4,%o1
  998.     ld [%o3],%l4
  999.     ld [%o1],%g3
  1000.     subxcc %l4,%g3,%l4
  1001.     st %l4,[%o4]
  1002.     add %o4,-4,%o4
  1003. .LL218:
  1004.     add %o3,-4,%o3
  1005.     add %o1,-4,%o1
  1006.     ld [%o3],%l4
  1007.     ld [%o1],%g3
  1008.     subxcc %l4,%g3,%l4
  1009.     st %l4,[%o4]
  1010.     add %o4,-4,%o4
  1011. .LL219:
  1012.     add %o3,-4,%o3
  1013.     add %o1,-4,%o1
  1014.     ld [%o3],%l4
  1015.     ld [%o1],%g3
  1016.     subxcc %l4,%g3,%l4
  1017.     st %l4,[%o4]
  1018.     add %o4,-4,%o4
  1019. .LL220:
  1020.     add %o3,-4,%o3
  1021.     add %o1,-4,%o1
  1022.     ld [%o3],%l4
  1023.     ld [%o1],%g3
  1024.     subxcc %l4,%g3,%l4
  1025.     st %l4,[%o4]
  1026.     add %o4,-4,%o4
  1027. .LL221:
  1028.     add %o3,-4,%o3
  1029.     add %o1,-4,%o1
  1030.     ld [%o3],%l4
  1031.     ld [%o1],%g3
  1032.     subxcc %l4,%g3,%l4
  1033.     st %l4,[%o4]
  1034.     addx %g0,%g0,%o2
  1035.     add %o5,-16,%o5
  1036.     cmp %o5,0
  1037.     bg .LL222
  1038.     add %o5,-1,%o0
  1039.     cmp %o2,0
  1040.     be,a .LL168
  1041.     subcc %l1,%l2,%o5
  1042.     add %o3,-4,%o3
  1043.     ld [%o3],%o0
  1044.     cmp %o0,0
  1045.     bne .LL223
  1046.     add %l0,8,%o1
  1047.     mov -1,%o1
  1048.     add %o4,-4,%o4
  1049. .LL224:
  1050.     st %o1,[%o4]
  1051.     add %o3,-4,%o3
  1052.     ld [%o3],%o0
  1053.     cmp %o0,0
  1054.     be,a .LL224
  1055.     add %o4,-4,%o4
  1056.     add %l0,8,%o1
  1057. .LL223:
  1058.     cmp %o3,%o1
  1059.     blu .LL176
  1060.     add %o0,-1,%o0
  1061.     add %o4,-4,%o4
  1062.     st %o0,[%o4]
  1063.     add %o3,-4,%o3
  1064.     cmp %o3,%o1
  1065.     blu .LL176
  1066.     mov %o3,%o0
  1067. .LL175:
  1068.     add %o4,-4,%o4
  1069.     ld [%o0],%o0
  1070.     st %o0,[%o4]
  1071.     add %o3,-4,%o3
  1072.     cmp %o3,%o1
  1073.     bgeu .LL175
  1074.     mov %o3,%o0
  1075.     b .LL225
  1076.     ld [%i0+8],%o0
  1077. .LL168:
  1078.     be,a .LL225
  1079.     ld [%i0+8],%o0
  1080. .LL179:
  1081.     add %o4,-4,%o4
  1082.     add %o3,-4,%o3
  1083.     ld [%o3],%o0
  1084.     addcc %o5,-1,%o5
  1085.     bne .LL179
  1086.     st %o0,[%o4]
  1087. .LL176:
  1088.     ld [%i0+8],%o0
  1089. .LL225:
  1090.     cmp %o0,0
  1091.     be,a .LL180
  1092.     ld [%i0+12],%o0
  1093.     ld [%l0+4],%o0
  1094.     b .LL185
  1095.     st %o0,[%i0+4]
  1096. .LL180:
  1097.     cmp %o0,0
  1098.     bne .LL183
  1099.     add %i0,12,%o4
  1100.     add %o4,4,%o4
  1101. .LL226:
  1102.     ld [%o4],%o0
  1103.     cmp %o0,0
  1104.     be,a .LL226
  1105.     add %o4,4,%o4
  1106. .LL183:
  1107.     add %o4,-8,%o4
  1108.     sub %o4,%i0,%o5
  1109.     sra %o5,2,%o5
  1110.     ld [%i0],%o1
  1111.     sub %o1,%o5,%o1
  1112.     st %o1,[%o4]
  1113.     st %o1,[%o4+4]
  1114.     mov %o4,%i0
  1115.     sethi %hi(-16777216),%o0
  1116.     andn %o1,%o0,%o0
  1117.     sll %l3,24,%o1
  1118.     add %o0,%o1,%o0
  1119.     st %o0,[%i0+4]
  1120.     sethi %hi(avma),%o2
  1121.     sll %o5,2,%o0
  1122.     ld [%o2+%lo(avma)],%o1
  1123.     add %o0,%o1,%o0
  1124.     st %o0,[%o2+%lo(avma)]
  1125. .LL185:
  1126.     ret
  1127.     restore
  1128. .LLfe4:
  1129.     .size     addii,.LLfe4-addii
  1130.     .align 4
  1131.     .global mulss
  1132.     .type     mulss,#function
  1133.     .proc    0105
  1134. mulss:
  1135.     !#PROLOGUE# 0
  1136.     save %sp,-112,%sp
  1137.     !#PROLOGUE# 1
  1138.     orcc %i0,%g0,%o0
  1139.     be .LL229
  1140.     cmp %i1,0
  1141.     bne .LL228
  1142.     cmp %o0,0
  1143. .LL229:
  1144.     sethi %hi(gzero),%o0
  1145.     b .LL237
  1146.     ld [%o0+%lo(gzero)],%i0
  1147. .LL228:
  1148.     bge .LL230
  1149.     mov 1,%l0
  1150.     subcc %g0,%o0,%o0
  1151.     bpos .LL230
  1152.     mov -1,%l0
  1153.     call stoi,0
  1154.     nop
  1155.     mov %o0,%o1
  1156.     call mulsi,0
  1157.     mov %i1,%o0
  1158.     b .LL237
  1159.     mov %o0,%i0
  1160. .LL230:
  1161.     cmp %i1,0
  1162.     bge .LL232
  1163.     nop
  1164.     subcc %g0,%i1,%i1
  1165.     bpos .LL232
  1166.     sub %g0,%l0,%l0
  1167.     cmp %l0,0
  1168.     bg .LL234
  1169.     mov %o0,%o1
  1170.     sub %g0,%o0,%o1
  1171. .LL234:
  1172.     mov %o1,%o0
  1173.     sethi %hi(ABS_MOST_NEGS),%o1
  1174.     call mulsi,0
  1175.     or %o1,%lo(ABS_MOST_NEGS),%o1
  1176.     b .LL237
  1177.     mov %o0,%i0
  1178. .LL232:
  1179.      
  1180.         or      %o0,%i1,%o4      
  1181.         mov     %o0,%y
  1182.         andncc  %o4,0xfff,%g0
  1183.         be      2f
  1184.         andcc   %g0,%g0,%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,%i1,%o4
  1204.         mulscc  %o4,%i1,%o4
  1205.         mulscc  %o4,%i1,%o4
  1206.         mulscc  %o4,%i1,%o4
  1207.         mulscc  %o4,%i1,%o4
  1208.         mulscc  %o4,%i1,%o4
  1209.         mulscc  %o4,%i1,%o4
  1210.         mulscc  %o4,%i1,%o4
  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,%g0,%o4
  1218.         tst     %i1
  1219.         bl,a    1f
  1220.         add     %o4,%o0,%o4
  1221. 1:      mov     %o4,%o2
  1222.         b       3f 
  1223.         rd      %y,%o0
  1224. 2:      clr     %o2
  1225.         mulscc  %o4,%i1,%o4
  1226.         mulscc  %o4,%i1,%o4
  1227.         mulscc  %o4,%i1,%o4
  1228.         mulscc  %o4,%i1,%o4
  1229.         mulscc  %o4,%i1,%o4
  1230.         mulscc  %o4,%i1,%o4
  1231.         mulscc  %o4,%i1,%o4
  1232.         mulscc  %o4,%i1,%o4
  1233.         mulscc  %o4,%i1,%o4
  1234.         mulscc  %o4,%i1,%o4
  1235.         mulscc  %o4,%i1,%o4
  1236.         mulscc  %o4,%i1,%o4
  1237.         mulscc  %o4,%g0,%o4
  1238.         rd      %y,%o5
  1239.         sll     %o4,12,%o4
  1240.         srl     %o5,20,%o5
  1241.         or      %o5,%o4,%o0
  1242. 3:       
  1243.  
  1244.     orcc %o2,%g0,%i1
  1245.     be .LL235
  1246.     mov %o0,%l1
  1247.     call cgeti,0
  1248.     mov 4,%o0
  1249.     mov %o0,%i0
  1250.     st %i1,[%i0+8]
  1251.     b .LL236
  1252.     st %l1,[%i0+12]
  1253. .LL235:
  1254.     call cgeti,0
  1255.     mov 3,%o0
  1256.     mov %o0,%i0
  1257.     st %l1,[%i0+8]
  1258. .LL236:
  1259.     ld [%i0],%o0
  1260.     sethi %hi(-16777216),%o1
  1261.     andn %o0,%o1,%o1
  1262.     sll %l0,24,%o0
  1263.     add %o1,%o0,%o1
  1264.     st %o1,[%i0+4]
  1265. .LL237:
  1266.     ret
  1267.     restore
  1268. .LLfe5:
  1269.     .size     mulss,.LLfe5-mulss
  1270.     .align 4
  1271.     .global mulii
  1272.     .type     mulii,#function
  1273.     .proc    0105
  1274. mulii:
  1275.     !#PROLOGUE# 0
  1276.     save %sp,-112,%sp
  1277.     !#PROLOGUE# 1
  1278.     mov %i0,%l4
  1279.     ld [%l4+4],%o0
  1280.     sethi %hi(65535),%o1
  1281.     or %o1,%lo(65535),%o1
  1282.     and %o0,%o1,%l0
  1283.     ld [%i1+4],%o2
  1284.     sra %o0,24,%l3
  1285.     cmp %l3,0
  1286.     be .LL255
  1287.     and %o2,%o1,%l2
  1288.     ldsb [%i1+4],%o0
  1289.     cmp %o0,0
  1290.     bne .LL240
  1291.     nop
  1292. .LL255:
  1293.     sethi %hi(gzero),%o0
  1294.     b .LL254
  1295.     ld [%o0+%lo(gzero)],%i0
  1296. .LL240:
  1297.     bl,a .LL241
  1298.     sub %g0,%l3,%l3
  1299. .LL241:
  1300.     cmp %l0,%l2
  1301.     ble .LL242
  1302.     sethi %hi(65535),%o0
  1303.     mov %l4,%i0
  1304.     mov %i1,%l4
  1305.     mov %i0,%i1
  1306.     mov %l0,%l1
  1307.     mov %l2,%l0
  1308.     mov %l1,%l2
  1309. .LL242:
  1310.     add %l0,%l2,%l1
  1311.     add %l1,-2,%l1
  1312.     or %o0,%lo(65535),%o0
  1313.     cmp %l1,%o0
  1314.     ble .LL243
  1315.     nop
  1316.     call err,0
  1317.     mov 17,%o0
  1318. .LL243:
  1319.     call cgeti,0
  1320.     mov %l1,%o0
  1321.     mov %o0,%i0
  1322.     ld [%i0],%o1
  1323.     sethi %hi(-16777216),%o0
  1324.     andn %o1,%o0,%o0
  1325.     sll %l3,24,%o1
  1326.     add %o0,%o1,%o0
  1327.     st %o0,[%i0+4]
  1328.     sll %l0,2,%o0
  1329.     add %l4,%o0,%g4
  1330.     add %g4,-4,%g4
  1331.     ld [%g4],%g2
  1332.     mov 0,%o2
  1333.     sll %l2,2,%o0
  1334.     add %i1,%o0,%g3
  1335.     sll %l1,2,%o0
  1336.     addcc %l2,-2,%o3
  1337.     be .LL245
  1338.     add %i0,%o0,%g1
  1339. .LL246:
  1340.     add %g1,-4,%g1
  1341.     mov %o2,%o0
  1342.     add %g3,-4,%g3
  1343.     mov %g2,%o1
  1344.     ld [%g3],%l5
  1345.      
  1346.         or      %o1,%l5,%o4      
  1347.         mov     %o1,%y
  1348.         andncc  %o4,0xfff,%g0
  1349.         be      2f
  1350.         andcc   %g0,%g0,%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,%l5,%o4
  1367.         mulscc  %o4,%l5,%o4
  1368.         mulscc  %o4,%l5,%o4
  1369.         mulscc  %o4,%l5,%o4
  1370.         mulscc  %o4,%l5,%o4
  1371.         mulscc  %o4,%l5,%o4
  1372.         mulscc  %o4,%l5,%o4
  1373.         mulscc  %o4,%l5,%o4
  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,%g0,%o4
  1384.         tst     %l5
  1385.         bl,a    1f
  1386.         add     %o4,%o1,%o4
  1387. 1:      mov     %o4,%o2
  1388.         b       3f 
  1389.         rd      %y,%o1
  1390. 2:      clr     %o2
  1391.         mulscc  %o4,%l5,%o4
  1392.         mulscc  %o4,%l5,%o4
  1393.         mulscc  %o4,%l5,%o4
  1394.         mulscc  %o4,%l5,%o4
  1395.         mulscc  %o4,%l5,%o4
  1396.         mulscc  %o4,%l5,%o4
  1397.         mulscc  %o4,%l5,%o4
  1398.         mulscc  %o4,%l5,%o4
  1399.         mulscc  %o4,%l5,%o4
  1400.         mulscc  %o4,%l5,%o4
  1401.         mulscc  %o4,%l5,%o4
  1402.         mulscc  %o4,%l5,%o4
  1403.         mulscc  %o4,%g0,%o4
  1404.         rd      %y,%o5
  1405.         sll     %o4,12,%o4
  1406.         srl     %o5,20,%o5
  1407.         or      %o5,%o4,%o1
  1408. 3:       
  1409.  
  1410.     addcc %o0,%o1,%o0
  1411.     addx %o2,%g0,%o2
  1412.     addcc %o3,-1,%o3
  1413.     bne .LL246
  1414.     st %o0,[%g1]
  1415. .LL245:
  1416.     st %o2,[%g1-4]
  1417.     sll %l1,2,%o0
  1418.     add %i0,%o0,%g1
  1419.     sll %l2,2,%o0
  1420.     add %i1,%o0,%i1
  1421.     add %l0,-3,%l0
  1422.     cmp %l0,0
  1423.     ble .LL248
  1424.     add %l2,-1,%l2
  1425. .LL252:
  1426.     add %g4,-4,%g4
  1427.     ld [%g4],%o7
  1428.     mov %i1,%g3
  1429.     add %g1,-4,%o1
  1430.     mov %o1,%g1
  1431.     addcc %l2,-1,%o3
  1432.     be .LL250
  1433.     mov 0,%g2
  1434. .LL251:
  1435.     add %g3,-4,%g3
  1436.     ld [%g3],%o0
  1437.      
  1438.         or      %o0,%o7,%o4      
  1439.         mov     %o0,%y
  1440.         andncc  %o4,0xfff,%g0
  1441.         be      2f
  1442.         andcc   %g0,%g0,%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,%o7,%o4
  1459.         mulscc  %o4,%o7,%o4
  1460.         mulscc  %o4,%o7,%o4
  1461.         mulscc  %o4,%o7,%o4
  1462.         mulscc  %o4,%o7,%o4
  1463.         mulscc  %o4,%o7,%o4
  1464.         mulscc  %o4,%o7,%o4
  1465.         mulscc  %o4,%o7,%o4
  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,%g0,%o4
  1476.         tst     %o7
  1477.         bl,a    1f
  1478.         add     %o4,%o0,%o4
  1479. 1:      mov     %o4,%o2
  1480.         b       3f 
  1481.         rd      %y,%o0
  1482. 2:      clr     %o2
  1483.         mulscc  %o4,%o7,%o4
  1484.         mulscc  %o4,%o7,%o4
  1485.         mulscc  %o4,%o7,%o4
  1486.         mulscc  %o4,%o7,%o4
  1487.         mulscc  %o4,%o7,%o4
  1488.         mulscc  %o4,%o7,%o4
  1489.         mulscc  %o4,%o7,%o4
  1490.         mulscc  %o4,%o7,%o4
  1491.         mulscc  %o4,%o7,%o4
  1492.         mulscc  %o4,%o7,%o4
  1493.         mulscc  %o4,%o7,%o4
  1494.         mulscc  %o4,%o7,%o4
  1495.         mulscc  %o4,%g0,%o4
  1496.         rd      %y,%o5
  1497.         sll     %o4,12,%o4
  1498.         srl     %o5,20,%o5
  1499.         or      %o5,%o4,%o0
  1500. 3:       
  1501.  
  1502.     add %o1,-4,%o1
  1503.     ld [%o1],%l5
  1504.     addcc %o0,%l5,%o0
  1505.     addx %o2,%g0,%o2
  1506.     addcc %o0,%g2,%o0
  1507.     addx %o2,%g0,%o2
  1508.     st %o0,[%o1]
  1509.     addcc %o3,-1,%o3
  1510.     bne .LL251
  1511.     mov %o2,%g2
  1512. .LL250:
  1513.     add %l0,-1,%l0
  1514.     cmp %l0,0
  1515.     bg .LL252
  1516.     st %o2,[%o1-4]
  1517. .LL248:
  1518.     ld [%i0+8],%o0
  1519.     cmp %o0,0
  1520.     bne .LL254
  1521.     sethi %hi(avma),%o1
  1522.     ld [%i0+4],%o0
  1523.     add %o0,-1,%o0
  1524.     st %o0,[%i0+8]
  1525.     ld [%i0],%o0
  1526.     add %o0,-1,%o0
  1527.     st %o0,[%i0+4]
  1528.     add %i0,4,%i0
  1529.     ld [%o1+%lo(avma)],%o0
  1530.     add %o0,4,%o0
  1531.     st %o0,[%o1+%lo(avma)]
  1532. .LL254:
  1533.     ret
  1534.     restore
  1535. .LLfe6:
  1536.     .size     mulii,.LLfe6-mulii
  1537.     .global .div
  1538. .section    ".rodata"
  1539.     .align 8
  1540. .LLC0:
  1541.     .long    0x3fd34413
  1542.     .long    0x55475a32
  1543.     .align 8
  1544. .LLC1:
  1545.     .long    0x3ff00000
  1546.     .long    0x0
  1547. .section    ".text"
  1548.     .align 4
  1549.     .global confrac
  1550.     .type     confrac,#function
  1551.     .proc    0105
  1552. confrac:
  1553.     !#PROLOGUE# 0
  1554.     save %sp,-112,%sp
  1555.     !#PROLOGUE# 1
  1556.     ld [%i0],%o1
  1557.     sethi %hi(65535),%o0
  1558.     or %o0,%lo(65535),%o0
  1559.     and %o1,%o0,%l2
  1560.     ld [%i0+4],%o0
  1561.     sethi %hi(-16777216),%o1
  1562.     andn %o0,%o1,%o1
  1563.     sethi %hi(8388607),%o0
  1564.     or %o0,%lo(8388607),%o0
  1565.     sub %o0,%o1,%l0
  1566.     sethi %hi(avma),%o0
  1567.     ld [%o0+%lo(avma)],%l5
  1568.     add %l2,-2,%l4
  1569.     sll %l4,5,%l4
  1570.     add %l4,%l0,%l4
  1571.     add %l4,63,%l3
  1572.     sra %l3,5,%l3
  1573.     call cgeti,0
  1574.     mov %l3,%o0
  1575.     sra %l0,5,%o1
  1576.     mov 0,%g2
  1577.     cmp %g2,%o1
  1578.     bge .LL258
  1579.     mov %o0,%l1
  1580. .LL260:
  1581.     sll %g2,2,%o0
  1582.     add %g2,1,%g2
  1583.     cmp %g2,%o1
  1584.     bl .LL260
  1585.     st %g0,[%l1+%o0]
  1586. .LL258:
  1587.     andcc %l0,31,%l0
  1588.     bne .LL261
  1589.     mov 2,%g3
  1590.     cmp %g3,%l2
  1591.     bge .LL279
  1592.     sll %l3,2,%o0
  1593. .LL265:
  1594.     sll %g2,2,%o0
  1595.     sll %g3,2,%o1
  1596.     ld [%i0+%o1],%o1
  1597.     st %o1,[%l1+%o0]
  1598.     add %g3,1,%g3
  1599.     cmp %g3,%l2
  1600.     bl .LL265
  1601.     add %g2,1,%g2
  1602.     b .LL279
  1603.     sll %l3,2,%o0
  1604. .LL261:
  1605.     cmp %g3,%l2
  1606.     bge .LL268
  1607.     mov 0,%o3
  1608.     mov 32,%o0
  1609.     sub %o0,%l0,%o4
  1610. .LL270:
  1611.     sll %g2,2,%o1
  1612.     sll %g3,2,%o0
  1613.     ld [%i0+%o0],%o2
  1614.     add %g2,1,%g2
  1615.     srl %o2,%l0,%o0
  1616.     add %o0,%o3,%o0
  1617.     st %o0,[%l1+%o1]
  1618.     add %g3,1,%g3
  1619.     cmp %g3,%l2
  1620.     bl .LL270
  1621.     sll %o2,%o4,%o3
  1622. .LL268:
  1623.     sll %l3,2,%o0
  1624.     add %o0,%l1,%o0
  1625.     st %o3,[%o0-8]
  1626.     sll %l3,2,%o0
  1627. .LL279:
  1628.     add %o0,%l1,%o0
  1629.     st %g0,[%o0-4]
  1630.     st %l4,[%fp-16]
  1631.     ld [%fp-16],%f6
  1632.     fitod %f6,%f2
  1633.     sethi %hi(.LLC0),%l6
  1634.     ldd [%l6+%lo(.LLC0)],%f4
  1635.     fmuld %f2,%f4,%f2
  1636.     sethi %hi(.LLC1),%l6
  1637.     ldd [%l6+%lo(.LLC1)],%f4
  1638.     faddd %f2,%f4,%f2
  1639.     fdtoi %f2,%f2
  1640.     st %f2,[%fp-16]
  1641.     ld [%fp-16],%l0
  1642.     add %l0,17,%l2
  1643.     mov %l2,%o0
  1644.     call .div,0
  1645.     mov 9,%o1
  1646.     call cgeti,0
  1647.     mov %o0,%l2
  1648.     mov %o0,%i0
  1649.     mov 1,%g3
  1650.     cmp %g3,%l2
  1651.     bge .LL272
  1652.     st %l0,[%i0]
  1653. .LL278:
  1654.     addcc %l3,-1,%g2
  1655.     bneg .LL275
  1656.     mov 0,%o3
  1657.     sethi %hi(1000000000),%o0
  1658.     or %o0,%lo(1000000000),%o7
  1659. .LL277:
  1660.     sll %g2,2,%o0
  1661.     mov %o3,%o2
  1662.     ld [%l1+%o0],%o1
  1663.      
  1664.         or      %o1,%o7,%o4      
  1665.         mov     %o1,%y
  1666.         andncc  %o4,0xfff,%g0
  1667.         be      2f
  1668.         andcc   %g0,%g0,%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,%o7,%o4
  1681.         mulscc  %o4,%o7,%o4
  1682.         mulscc  %o4,%o7,%o4
  1683.         mulscc  %o4,%o7,%o4
  1684.         mulscc  %o4,%o7,%o4
  1685.         mulscc  %o4,%o7,%o4
  1686.         mulscc  %o4,%o7,%o4
  1687.         mulscc  %o4,%o7,%o4
  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,%o7,%o4
  1701.         mulscc  %o4,%g0,%o4
  1702.         tst     %o7
  1703.         bl,a    1f
  1704.         add     %o4,%o1,%o4
  1705. 1:      mov     %o4,%o3
  1706.         b       3f 
  1707.         rd      %y,%o1
  1708. 2:      clr     %o3
  1709.         mulscc  %o4,%o7,%o4
  1710.         mulscc  %o4,%o7,%o4
  1711.         mulscc  %o4,%o7,%o4
  1712.         mulscc  %o4,%o7,%o4
  1713.         mulscc  %o4,%o7,%o4
  1714.         mulscc  %o4,%o7,%o4
  1715.         mulscc  %o4,%o7,%o4
  1716.         mulscc  %o4,%o7,%o4
  1717.         mulscc  %o4,%o7,%o4
  1718.         mulscc  %o4,%o7,%o4
  1719.         mulscc  %o4,%o7,%o4
  1720.         mulscc  %o4,%o7,%o4
  1721.         mulscc  %o4,%g0,%o4
  1722.         rd      %y,%o5
  1723.         sll     %o4,12,%o4
  1724.         srl     %o5,20,%o5
  1725.         or      %o5,%o4,%o1
  1726. 3:       
  1727.  
  1728.     addcc %o2,%o1,%o1
  1729.     addx %o3,%g0,%o3
  1730.     addcc %g2,-1,%g2
  1731.     bpos .LL277
  1732.     st %o1,[%l1+%o0]
  1733. .LL275:
  1734.     sll %g3,2,%o0
  1735.     add %g3,1,%g3
  1736.     cmp %g3,%l2
  1737.     bl .LL278
  1738.     st %o3,[%i0+%o0]
  1739. .LL272:
  1740.     sethi %hi(avma),%o0
  1741.     st %l5,[%o0+%lo(avma)]
  1742.     ret
  1743.     restore
  1744. .LLfe7:
  1745.     .size     confrac,.LLfe7-confrac
  1746.     .align 4
  1747.     .global divss
  1748.     .type     divss,#function
  1749.     .proc    0105
  1750. divss:
  1751.     !#PROLOGUE# 0
  1752.     save %sp,-112,%sp
  1753.     !#PROLOGUE# 1
  1754.     cmp %i1,0
  1755.     bne .LL289
  1756.     sethi %hi(-2147483648),%o0
  1757.     call err,0
  1758.     mov 23,%o0
  1759.     sethi %hi(-2147483648),%o0
  1760. .LL289:
  1761.     cmp %i0,%o0
  1762.     bne .LL282
  1763.     sethi %hi(hiremainder),%o0
  1764.     call stoi,0
  1765.     mov %i0,%o0
  1766.     call divis,0
  1767.     mov %i1,%o1
  1768.     b,a .LL288
  1769. .LL282:
  1770.     st %g0,[%o0+%lo(hiremainder)]
  1771.     cmp %i0,0
  1772.     bge .LL283
  1773.     mov %i0,%o0
  1774.     sub %g0,%i0,%o0
  1775. .LL283:
  1776.     cmp %i1,0
  1777.     bge .LL284
  1778.     mov %i1,%o1
  1779.     sub %g0,%i1,%o1
  1780. .LL284:
  1781.     sethi %hi(hiremainder),%l0
  1782.     call divul3,0
  1783.     or %l0,%lo(hiremainder),%o2
  1784.     cmp %i1,0
  1785.     bge .LL285
  1786.     mov %o0,%o1
  1787.     ld [%l0+%lo(hiremainder)],%o0
  1788.     sub %g0,%o0,%o0
  1789.     st %o0,[%l0+%lo(hiremainder)]
  1790.     sub %g0,%o1,%o1
  1791. .LL285:
  1792.     cmp %i0,0
  1793.     bl,a .LL286
  1794.     sub %g0,%o1,%o1
  1795. .LL286:
  1796.     call stoi,0
  1797.     mov %o1,%o0
  1798. .LL288:
  1799.     ret
  1800.     restore %g0,%o0,%o0
  1801. .LLfe8:
  1802.     .size     divss,.LLfe8-divss
  1803.     .align 4
  1804.     .global modss
  1805.     .type     modss,#function
  1806.     .proc    0105
  1807. modss:
  1808.     !#PROLOGUE# 0
  1809.     save %sp,-120,%sp
  1810.     !#PROLOGUE# 1
  1811.     cmp %i1,0
  1812.     bne .LL299
  1813.     sethi %hi(-2147483648),%o0
  1814.     call err,0
  1815.     mov 38,%o0
  1816.     sethi %hi(-2147483648),%o0
  1817. .LL299:
  1818.     cmp %i0,%o0
  1819.     bne .LL292
  1820.     mov %i0,%o0
  1821.     call stoi,0
  1822.     nop
  1823.     call modis,0
  1824.     mov %i1,%o1
  1825.     b .LL298
  1826.     mov %o0,%i0
  1827. .LL292:
  1828.     cmp %o0,0
  1829.     bge .LL293
  1830.     st %g0,[%fp-20]
  1831.     sub %g0,%o0,%o0
  1832. .LL293:
  1833.     cmp %i1,0
  1834.     bl,a .LL294
  1835.     sub %g0,%i1,%i1
  1836. .LL294:
  1837.     mov %i1,%o1
  1838.     call divul3,0
  1839.     add %fp,-20,%o2
  1840.     ld [%fp-20],%o0
  1841.     cmp %o0,0
  1842.     bne .LL295
  1843.     nop
  1844.     sethi %hi(gzero),%o0
  1845.     b .LL298
  1846.     ld [%o0+%lo(gzero)],%i0
  1847. .LL295:
  1848.     bge .LL296
  1849.     nop
  1850.     call stoi,0
  1851.     sub %i1,%o0,%o0
  1852.     b .LL298
  1853.     mov %o0,%i0
  1854. .LL296:
  1855.     call stoi,0
  1856.     ld [%fp-20],%o0
  1857.     mov %o0,%i0
  1858. .LL298:
  1859.     ret
  1860.     restore
  1861. .LLfe9:
  1862.     .size     modss,.LLfe9-modss
  1863.     .align 4
  1864.     .global resss
  1865.     .type     resss,#function
  1866.     .proc    0105
  1867. resss:
  1868.     !#PROLOGUE# 0
  1869.     save %sp,-120,%sp
  1870.     !#PROLOGUE# 1
  1871.     cmp %i1,0
  1872.     bne .LL306
  1873.     mov %i0,%o0
  1874.     call err,0
  1875.     mov 40,%o0
  1876.     mov %i0,%o0
  1877. .LL306:
  1878.     cmp %o0,0
  1879.     bge .LL302
  1880.     st %g0,[%fp-20]
  1881.     sub %g0,%o0,%o0
  1882. .LL302:
  1883.     cmp %i1,0
  1884.     bge .LL303
  1885.     mov %i1,%o1
  1886.     sub %g0,%i1,%o1
  1887. .LL303:
  1888.     call divul3,0
  1889.     add %fp,-20,%o2
  1890.     cmp %i1,0
  1891.     bge .LL304
  1892.     ld [%fp-20],%o0
  1893.     call stoi,0
  1894.     sub %g0,%o0,%o0
  1895.     b,a .LL305
  1896. .LL304:
  1897.     call stoi,0
  1898.     nop
  1899. .LL305:
  1900.     ret
  1901.     restore %g0,%o0,%o0
  1902. .LLfe10:
  1903.     .size     resss,.LLfe10-resss
  1904.     .align 4
  1905.     .global divsi
  1906.     .type     divsi,#function
  1907.     .proc    0105
  1908. divsi:
  1909.     !#PROLOGUE# 0
  1910.     save %sp,-112,%sp
  1911.     !#PROLOGUE# 1
  1912.     ld [%i1+4],%o0
  1913.     sra %o0,24,%o2
  1914.     sethi %hi(65535),%o1
  1915.     or %o1,%lo(65535),%o1
  1916.     cmp %o2,0
  1917.     bne .LL308
  1918.     and %o0,%o1,%l0
  1919.     call err,0
  1920.     mov 24,%o0
  1921. .LL308:
  1922.     cmp %i0,0
  1923.     be .LL310
  1924.     cmp %l0,3
  1925.     bg .LL317
  1926.     sethi %hi(hiremainder),%o0
  1927.     ld [%i1+8],%o0
  1928.     cmp %o0,0
  1929.     bge .LL309
  1930.     sethi %hi(-2147483648),%o0
  1931. .LL310:
  1932.     sethi %hi(hiremainder),%o0
  1933. .LL317:
  1934.     st %i0,[%o0+%lo(hiremainder)]
  1935.     sethi %hi(gzero),%o0
  1936.     b .LL315
  1937.     ld [%o0+%lo(gzero)],%i0
  1938. .LL309:
  1939.     cmp %i0,%o0
  1940.     bne .LL311
  1941.     sethi %hi(hiremainder),%o0
  1942.     call stoi,0
  1943.     mov %i0,%o0
  1944.     mov %i1,%o1
  1945.     call dvmdii,0
  1946.     mov 0,%o2
  1947.     b .LL315
  1948.     mov %o0,%i0
  1949. .LL311:
  1950.     st %g0,[%o0+%lo(hiremainder)]
  1951.     cmp %i0,0
  1952.     bge .LL312
  1953.     mov %i0,%o0
  1954.     sub %g0,%i0,%o0
  1955. .LL312:
  1956.     ld [%i1+8],%o1
  1957.     sethi %hi(hiremainder),%l0
  1958.     call divul3,0
  1959.     or %l0,%lo(hiremainder),%o2
  1960.     mov %o0,%o1
  1961.     ldsb [%i1+4],%o0
  1962.     cmp %o0,0
  1963.     bge .LL318
  1964.     cmp %i0,0
  1965.     ld [%l0+%lo(hiremainder)],%o0
  1966.     sub %g0,%o0,%o0
  1967.     st %o0,[%l0+%lo(hiremainder)]
  1968.     sub %g0,%o1,%o1
  1969. .LL318:
  1970.     bl,a .LL314
  1971.     sub %g0,%o1,%o1
  1972. .LL314:
  1973.     call stoi,0
  1974.     mov %o1,%o0
  1975.     mov %o0,%i0
  1976. .LL315:
  1977.     ret
  1978.     restore
  1979. .LLfe11:
  1980.     .size     divsi,.LLfe11-divsi
  1981.     .align 4
  1982.     .global divis
  1983.     .type     divis,#function
  1984.     .proc    0105
  1985. divis:
  1986.     !#PROLOGUE# 0
  1987.     save %sp,-120,%sp
  1988.     !#PROLOGUE# 1
  1989.     ld [%i0+4],%o1
  1990.     sra %o1,24,%l4
  1991.     sethi %hi(65535),%o0
  1992.     or %o0,%lo(65535),%o0
  1993.     cmp %i1,0
  1994.     bne .LL320
  1995.     and %o1,%o0,%l3
  1996.     call err,0
  1997.     mov 26,%o0
  1998. .LL320:
  1999.     cmp %l4,0
  2000.     bne .LL321
  2001.     cmp %i1,0
  2002.     sethi %hi(hiremainder),%o0
  2003.     b .LL335
  2004.     st %g0,[%o0+%lo(hiremainder)]
  2005. .LL321:
  2006.     bge,a .LL336
  2007.     ld [%i0+8],%o0
  2008.     subcc %g0,%i1,%i1
  2009.     bpos .LL322
  2010.     sub %g0,%l4,%l4
  2011.     call stoi,0
  2012.     mov %i1,%o0
  2013.     mov %o0,%o1
  2014.     mov %i0,%o0
  2015.     call dvmdii,0
  2016.     mov 0,%o2
  2017.     b .LL334
  2018.     mov %o0,%i0
  2019. .LL322:
  2020.     ld [%i0+8],%o0
  2021. .LL336:
  2022.     cmp %i1,%o0
  2023.     bleu .LL324
  2024.     cmp %l3,3
  2025.     bne .LL325
  2026.     sethi %hi(hiremainder),%l0
  2027.     call itos,0
  2028.     mov %i0,%o0
  2029.     st %o0,[%l0+%lo(hiremainder)]
  2030. .LL335:
  2031.     sethi %hi(gzero),%o0
  2032.     b .LL334
  2033.     ld [%o0+%lo(gzero)],%i0
  2034. .LL325:
  2035.     call cgeti,0
  2036.     add %l3,-1,%o0
  2037.     mov %o0,%l2
  2038.     mov 1,%l1
  2039.     ld [%i0+8],%o0
  2040.     b .LL327
  2041.     st %o0,[%fp-20]
  2042. .LL324:
  2043.     call cgeti,0
  2044.     mov %l3,%o0
  2045.     mov %o0,%l2
  2046.     mov 0,%l1
  2047.     st %g0,[%fp-20]
  2048. .LL327:
  2049.     add %l1,2,%l0
  2050.     cmp %l0,%l3
  2051.     bge,a .LL337
  2052.     ld [%l2],%o0
  2053. .LL331:
  2054.     sll %l0,2,%o0
  2055.     ld [%i0+%o0],%o0
  2056.     mov %i1,%o1
  2057.     call divul3,0
  2058.     add %fp,-20,%o2
  2059.     sub %l0,%l1,%o1
  2060.     sll %o1,2,%o1
  2061.     add %l0,1,%l0
  2062.     cmp %l0,%l3
  2063.     bl .LL331
  2064.     st %o0,[%l2+%o1]
  2065.     ld [%l2],%o0
  2066. .LL337:
  2067.     sethi %hi(-16777216),%o1
  2068.     andn %o0,%o1,%o1
  2069.     sll %l4,24,%o0
  2070.     add %o1,%o0,%o1
  2071.     st %o1,[%l2+4]
  2072.     sethi %hi(hiremainder),%o1
  2073.     cmp %l4,0
  2074.     bge .LL332
  2075.     or %o1,%lo(hiremainder),%o2
  2076.     ld [%fp-20],%o0
  2077.     sub %g0,%o0,%o0
  2078.     b .LL333
  2079.     st %o0,[%o1+%lo(hiremainder)]
  2080. .LL332:
  2081.     ld [%fp-20],%o0
  2082.     st %o0,[%o2]
  2083. .LL333:
  2084.     mov %l2,%i0
  2085. .LL334:
  2086.     ret
  2087.     restore
  2088. .LLfe12:
  2089.     .size     divis,.LLfe12-divis
  2090.     .align 4
  2091.     .global dvmdii
  2092.     .type     dvmdii,#function
  2093.     .proc    0105
  2094. dvmdii:
  2095.     !#PROLOGUE# 0
  2096.     save %sp,-152,%sp
  2097.     !#PROLOGUE# 1
  2098.     mov %i0,%l0
  2099.     mov %i2,%i4
  2100.     ldsb [%l0+4],%g4
  2101.     st %g4,[%fp-36]
  2102.     ldsb [%i1+4],%g1
  2103.     cmp %g1,0
  2104.     bne .LL339
  2105.     st %g1,[%fp-44]
  2106.     call err,0
  2107.     mov 36,%o0
  2108. .LL339:
  2109.     ld [%fp-36],%g4
  2110.     cmp %g4,0
  2111.     bne,a .LL340
  2112.     ld [%l0+4],%o0
  2113.     cmp %i4,-1
  2114.     be .LL427
  2115.     cmp %i4,0
  2116.     be .LL432
  2117.     sethi %hi(gzero),%o0
  2118.     sethi %hi(gzero),%o1
  2119.     ld [%o1+%lo(gzero)],%o0
  2120.     st %o0,[%i4]
  2121.     b .LL426
  2122.     ld [%o1+%lo(gzero)],%i0
  2123. .LL340:
  2124.     sethi %hi(65535),%o1
  2125.     or %o1,%lo(65535),%o1
  2126.     and %o0,%o1,%l6
  2127.     ld [%i1+4],%o0
  2128.     and %o0,%o1,%i3
  2129.     subcc %l6,%i3,%i5
  2130.     bpos,a .LL343
  2131.     sethi %hi(avma),%o0
  2132.     cmp %i4,-1
  2133.     bne .LL344
  2134.     cmp %i4,0
  2135.     call icopy,0
  2136.     mov %l0,%o0
  2137.     b .LL426
  2138.     mov %o0,%i0
  2139. .LL344:
  2140.     be .LL432
  2141.     sethi %hi(gzero),%o0
  2142.     call icopy,0
  2143.     mov %l0,%o0
  2144.     b .LL427
  2145.     st %o0,[%i4]
  2146. .LL343:
  2147.     ld [%o0+%lo(avma)],%o0
  2148.     st %o0,[%fp-28]
  2149.     ld [%fp-36],%g1
  2150.     cmp %g1,0
  2151.     bge .LL433
  2152.     cmp %i3,3
  2153.     ld [%fp-44],%g4
  2154.     sub %g0,%g4,%g4
  2155.     st %g4,[%fp-44]
  2156. .LL433:
  2157.     bne .LL347
  2158.     nop
  2159.     ld [%i1+8],%i1
  2160.     ld [%l0+8],%o0
  2161.     cmp %i1,%o0
  2162.     bleu .LL348
  2163.     add %l0,8,%l1
  2164.     add %l6,-1,%l4
  2165.     st %o0,[%fp-20]
  2166.     b .LL349
  2167.     add %l0,12,%l1
  2168. .LL348:
  2169.     mov %l6,%l4
  2170.     st %g0,[%fp-20]
  2171. .LL349:
  2172.     call cgeti,0
  2173.     mov %l4,%o0
  2174.     mov %o0,%l5
  2175.     addcc %l4,-2,%l3
  2176.     be .LL351
  2177.     add %l5,8,%l2
  2178. .LL352:
  2179.     ld [%l1],%o0
  2180.     add %l1,4,%l1
  2181.     mov %i1,%o1
  2182.     call divul3,0
  2183.     add %fp,-20,%o2
  2184.     st %o0,[%l2]
  2185.     addcc %l3,-1,%l3
  2186.     bne .LL352
  2187.     add %l2,4,%l2
  2188. .LL351:
  2189.     cmp %i4,-1
  2190.     bne .LL353
  2191.     cmp %l4,2
  2192.     ld [%fp-28],%g1
  2193.     sethi %hi(avma),%o0
  2194.     st %g1,[%o0+%lo(avma)]
  2195.     ld [%fp-20],%o0
  2196.     cmp %o0,0
  2197.     bne .LL354
  2198.     nop
  2199. .LL427:
  2200.     sethi %hi(gzero),%o0
  2201. .LL432:
  2202.     b .LL426
  2203.     ld [%o0+%lo(gzero)],%i0
  2204. .LL354:
  2205.     call cgeti,0
  2206.     mov 3,%o0
  2207.     mov %o0,%i0
  2208.     ld [%fp-36],%g4
  2209.     sll %g4,24,%o0
  2210.     add %o0,3,%o0
  2211.     st %o0,[%i0+4]
  2212.     ld [%fp-20],%o0
  2213.     b .LL426
  2214.     st %o0,[%i0+8]
  2215. .LL353:
  2216.     be .LL355
  2217.     sethi %hi(-16777216),%o1
  2218.     ld [%l5],%o0
  2219.     andn %o0,%o1,%o1
  2220.     ld [%fp-44],%g1
  2221.     sll %g1,24,%o0
  2222.     add %o1,%o0,%o1
  2223.     b .LL356
  2224.     st %o1,[%l5+4]
  2225. .LL355:
  2226.     ld [%fp-28],%g4
  2227.     sethi %hi(avma),%o0
  2228.     st %g4,[%o0+%lo(avma)]
  2229.     sethi %hi(gzero),%o0
  2230.     ld [%o0+%lo(gzero)],%l5
  2231. .LL356:
  2232.     cmp %i4,0
  2233.     bne .LL357
  2234.     ld [%fp-20],%o0
  2235. .LL429:
  2236.     b .LL426
  2237.     mov %l5,%i0
  2238. .LL357:
  2239.     cmp %o0,0
  2240.     bne .LL358
  2241.     sethi %hi(gzero),%o0
  2242.     ld [%o0+%lo(gzero)],%o0
  2243.     b .LL429
  2244.     st %o0,[%i4]
  2245. .LL358:
  2246.     call cgeti,0
  2247.     mov 3,%o0
  2248.     mov %o0,%i0
  2249.     ld [%fp-36],%g1
  2250.     sll %g1,24,%o0
  2251.     add %o0,3,%o0
  2252.     st %o0,[%i0+4]
  2253.     ld [%fp-20],%o0
  2254.     st %o0,[%i0+8]
  2255.     b .LL429
  2256.     st %i0,[%i4]
  2257. .LL347:
  2258.     call cgeti,0
  2259.     mov %l6,%o0
  2260.     mov %o0,%l5
  2261.     call bfffo,0
  2262.     ld [%i1+8],%o0
  2263.     orcc %o0,%g0,%l7
  2264.     be .LL361
  2265.     add %l0,8,%l1
  2266.     call cgeti,0
  2267.     mov %i3,%o0
  2268.     mov %o0,%i0
  2269.     ld [%i1+8],%o3
  2270.     add %i1,12,%o1
  2271.     mov 32,%o0
  2272.     sub %o0,%l7,%o0
  2273.     srl %o3,%o0,%o0
  2274.     st %o0,[%fp-20]
  2275.     sll %o3,%l7,%g2
  2276.     addcc %i3,-3,%l3
  2277.     be .LL363
  2278.     add %i0,8,%o2
  2279.     mov 32,%o0
  2280.     sub %o0,%l7,%o4
  2281. .LL364:
  2282.     ld [%o1],%o3
  2283.     add %o1,4,%o1
  2284.     srl %o3,%o4,%o0
  2285.     st %o0,[%fp-20]
  2286.     add %g2,%o0,%o0
  2287.     st %o0,[%o2]
  2288.     add %o2,4,%o2
  2289.     addcc %l3,-1,%l3
  2290.     bne .LL364
  2291.     sll %o3,%l7,%g2
  2292. .LL363:
  2293.     st %g2,[%o2]
  2294.     mov 0,%g2
  2295.     add %l0,8,%l1
  2296.     addcc %l6,-2,%l3
  2297.     be .LL366
  2298.     add %l5,4,%l2
  2299.     mov 32,%o0
  2300.     sub %o0,%l7,%o1
  2301. .LL367:
  2302.     ld [%l1],%o3
  2303.     add %l1,4,%l1
  2304.     srl %o3,%o1,%o0
  2305.     st %o0,[%fp-20]
  2306.     add %g2,%o0,%o0
  2307.     st %o0,[%l2]
  2308.     add %l2,4,%l2
  2309.     addcc %l3,-1,%l3
  2310.     bne .LL367
  2311.     sll %o3,%l7,%g2
  2312. .LL366:
  2313.     b .LL368
  2314.     st %g2,[%l2]
  2315. .LL361:
  2316.     st %g0,[%l5+4]
  2317.     addcc %l6,-2,%l0
  2318.     be .LL370
  2319.     add %l5,8,%l2
  2320. .LL371:
  2321.     ld [%l1],%o0
  2322.     st %o0,[%l2]
  2323.     add %l1,4,%l1
  2324.     addcc %l0,-1,%l0
  2325.     bne .LL371
  2326.     add %l2,4,%l2
  2327. .LL370:
  2328.     mov %i1,%i0
  2329. .LL368:
  2330.     ld [%i0+8],%i1
  2331.     ld [%i0+12],%i2
  2332.     addcc %i5,1,%l3
  2333.     be .LL373
  2334.     add %l5,4,%l2
  2335.     sll %i3,2,%l1
  2336. .LL395:
  2337.     ld [%l2],%o0
  2338.     cmp %o0,%i1
  2339.     bne .LL374
  2340.     add %l2,4,%l2
  2341.     mov -1,%o7
  2342.     mov %i1,%o3
  2343.     ld [%l2],%o0
  2344.     add %o3,%o0,%o1
  2345.     cmp %o1,%o3
  2346.     addx %g0,0,%o2
  2347.     b .LL375
  2348.     mov %o1,%g2
  2349. .LL374:
  2350.     ld [%l2-4],%o0
  2351.     st %o0,[%fp-20]
  2352.     ld [%l2],%o0
  2353.     mov %i1,%o1
  2354.     call divul3,0
  2355.     add %fp,-20,%o2
  2356.     mov %o0,%o7
  2357.     mov 0,%o2
  2358.     ld [%fp-20],%g2
  2359. .LL375:
  2360.     cmp %o2,0
  2361.     bne,a .LL434
  2362.     st %g0,[%fp-20]
  2363.     mov %o7,%o0
  2364.      
  2365.         or      %o0,%i2,%o4      
  2366.         mov     %o0,%y
  2367.         andncc  %o4,0xfff,%g0
  2368.         be      2f
  2369.         andcc   %g0,%g0,%o4
  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,%i2,%o4
  2383.         mulscc  %o4,%i2,%o4
  2384.         mulscc  %o4,%i2,%o4
  2385.         mulscc  %o4,%i2,%o4
  2386.         mulscc  %o4,%i2,%o4
  2387.         mulscc  %o4,%i2,%o4
  2388.         mulscc  %o4,%i2,%o4
  2389.         mulscc  %o4,%i2,%o4
  2390.         mulscc  %o4,%i2,%o4
  2391.         mulscc  %o4,%i2,%o4
  2392.         mulscc  %o4,%i2,%o4
  2393.         mulscc  %o4,%i2,%o4
  2394.         mulscc  %o4,%i2,%o4
  2395.         mulscc  %o4,%i2,%o4
  2396.         mulscc  %o4,%i2,%o4
  2397.         mulscc  %o4,%i2,%o4
  2398.         mulscc  %o4,%i2,%o4
  2399.         mulscc  %o4,%i2,%o4
  2400.         mulscc  %o4,%i2,%o4
  2401.         mulscc  %o4,%i2,%o4
  2402.         mulscc  %o4,%g0,%o4
  2403.         tst     %i2
  2404.         bl,a    1f
  2405.         add     %o4,%o0,%o4
  2406. 1:      mov     %o4,%g4
  2407.         b       3f 
  2408.         rd      %y,%o0
  2409. 2:      clr     %g4
  2410.         mulscc  %o4,%i2,%o4
  2411.         mulscc  %o4,%i2,%o4
  2412.         mulscc  %o4,%i2,%o4
  2413.         mulscc  %o4,%i2,%o4
  2414.         mulscc  %o4,%i2,%o4
  2415.         mulscc  %o4,%i2,%o4
  2416.         mulscc  %o4,%i2,%o4
  2417.         mulscc  %o4,%i2,%o4
  2418.         mulscc  %o4,%i2,%o4
  2419.         mulscc  %o4,%i2,%o4
  2420.         mulscc  %o4,%i2,%o4
  2421.         mulscc  %o4,%i2,%o4
  2422.         mulscc  %o4,%g0,%o4
  2423.         rd      %y,%o5
  2424.         sll     %o4,12,%o4
  2425.         srl     %o5,20,%o5
  2426.         or      %o5,%o4,%o0
  2427. 3:       
  2428.  
  2429.     st %g4,[%fp-20]
  2430.     mov %o0,%o3
  2431.     ld [%l2+4],%o0
  2432.     cmp %o3,%o0
  2433.     sub %o3,%o0,%o5
  2434.     ld [%fp-20],%o3
  2435.     addx %g0,0,%o2
  2436.     subx %o3,%g2,%o1
  2437.     cmp %g2,%o3
  2438.     bgu .LL431
  2439.     mov %g2,%o0
  2440.     b .LL435
  2441.     cmp %o0,%o3
  2442. .LL387:
  2443.     mov %i2,%o0
  2444.     cmp %o3,%o0
  2445.     sub %o3,%o0,%o5
  2446.     mov %o4,%o3
  2447.     mov %i1,%o0
  2448.     addx %g0,0,%o2
  2449.     subx %o3,%o0,%o1
  2450.     cmp %o0,%o3
  2451.     bleu .LL435
  2452.     add %o7,-1,%o7
  2453. .LL431:
  2454.     b .LL384
  2455.     mov 1,%o2
  2456. .LL435:
  2457.     blu,a .LL384
  2458.     mov 0,%o2
  2459. .LL384:
  2460.     cmp %o2,0
  2461.     bne .LL376
  2462.     mov %o1,%o4
  2463.     cmp %o1,0
  2464.     bne .LL387
  2465.     mov %o5,%o3
  2466. .LL376:
  2467.     st %g0,[%fp-20]
  2468. .LL434:
  2469.     add %l2,%l1,%o0
  2470.     add %o0,-8,%g2
  2471.     addcc %i3,-2,%l0
  2472.     be .LL389
  2473.     add %i0,%l1,%g3
  2474. .LL390:
  2475.     ld [%fp-20],%o3
  2476.     add %g3,-4,%g3
  2477.     mov %o7,%o0
  2478.     ld [%g3],%g4
  2479.      
  2480.         or      %o0,%g4,%o4      
  2481.         mov     %o0,%y
  2482.         andncc  %o4,0xfff,%g0
  2483.         be      2f
  2484.         andcc   %g0,%g0,%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,%g4,%o4
  2497.         mulscc  %o4,%g4,%o4
  2498.         mulscc  %o4,%g4,%o4
  2499.         mulscc  %o4,%g4,%o4
  2500.         mulscc  %o4,%g4,%o4
  2501.         mulscc  %o4,%g4,%o4
  2502.         mulscc  %o4,%g4,%o4
  2503.         mulscc  %o4,%g4,%o4
  2504.         mulscc  %o4,%g4,%o4
  2505.         mulscc  %o4,%g4,%o4
  2506.         mulscc  %o4,%g4,%o4
  2507.         mulscc  %o4,%g4,%o4
  2508.         mulscc  %o4,%g4,%o4
  2509.         mulscc  %o4,%g4,%o4
  2510.         mulscc  %o4,%g4,%o4
  2511.         mulscc  %o4,%g4,%o4
  2512.         mulscc  %o4,%g4,%o4
  2513.         mulscc  %o4,%g4,%o4
  2514.         mulscc  %o4,%g4,%o4
  2515.         mulscc  %o4,%g4,%o4
  2516.         mulscc  %o4,%g4,%o4
  2517.         mulscc  %o4,%g0,%o4
  2518.         tst     %g4
  2519.         bl,a    1f
  2520.         add     %o4,%o0,%o4
  2521. 1:      mov     %o4,%g1
  2522.         b       3f 
  2523.         rd      %y,%o0
  2524. 2:      clr     %g1
  2525.         mulscc  %o4,%g4,%o4
  2526.         mulscc  %o4,%g4,%o4
  2527.         mulscc  %o4,%g4,%o4
  2528.         mulscc  %o4,%g4,%o4
  2529.         mulscc  %o4,%g4,%o4
  2530.         mulscc  %o4,%g4,%o4
  2531.         mulscc  %o4,%g4,%o4
  2532.         mulscc  %o4,%g4,%o4
  2533.         mulscc  %o4,%g4,%o4
  2534.         mulscc  %o4,%g4,%o4
  2535.         mulscc  %o4,%g4,%o4
  2536.         mulscc  %o4,%g4,%o4
  2537.         mulscc  %o4,%g0,%o4
  2538.         rd      %y,%o5
  2539.         sll     %o4,12,%o4
  2540.         srl     %o5,20,%o5
  2541.         or      %o5,%o4,%o0
  2542. 3:       
  2543.  
  2544.     st %g1,[%fp-20]
  2545.     ld [%fp-20],%g1
  2546.     addcc %o3,%o0,%o0
  2547.     addx %g1,%g0,%g1
  2548.     st %g1,[%fp-20]
  2549.     mov %o0,%o2
  2550.     add %g2,-4,%g2
  2551.     ld [%g2],%o3
  2552.     sub %o3,%o2,%o1
  2553.     cmp %o3,%o2
  2554.     st %o1,[%g2]
  2555.     ld [%fp-20],%o0
  2556.     addx %g0,%o0,%o0
  2557.     addcc %l0,-1,%l0
  2558.     bne .LL390
  2559.     st %o0,[%fp-20]
  2560. .LL389:
  2561.     ld [%l2-4],%o1
  2562.     ld [%fp-20],%o0
  2563.     cmp %o1,%o0
  2564.     bgeu,a .LL436
  2565.     addcc %l3,-1,%l3
  2566.     mov 0,%o2
  2567.     add %o7,-1,%o7
  2568.     add %l2,%l1,%g2
  2569.     add %g2,-8,%g2
  2570.     addcc %i3,-2,%l0
  2571.     be .LL391
  2572.     add %i0,%l1,%g3
  2573.     add %g2,-4,%g2
  2574. .LL437:
  2575.     subcc %g0,%o2,%g0
  2576.     add %g3,-4,%g3
  2577.     ld [%g2],%g4
  2578.     ld [%g3],%g1
  2579.     addxcc %g4,%g1,%g4
  2580.     st %g4,[%g2]
  2581.     addx %g0,%g0,%o2
  2582.     addcc %l0,-1,%l0
  2583.     bne,a .LL437
  2584.     add %g2,-4,%g2
  2585. .LL391:
  2586.     addcc %l3,-1,%l3
  2587. .LL436:
  2588.     bne .LL395
  2589.     st %o7,[%l2-4]
  2590. .LL373:
  2591.     sethi %hi(avma),%o0
  2592.     cmp %i4,-1
  2593.     be .LL396
  2594.     ld [%o0+%lo(avma)],%i0
  2595.     add %i5,2,%l1
  2596.     sll %l1,2,%o0
  2597.     add %l5,%o0,%l2
  2598.     ld [%l5+4],%o0
  2599.     cmp %o0,0
  2600.     be .LL397
  2601.     cmp %i5,0
  2602.     b .LL398
  2603.     add %i5,3,%l1
  2604. .LL397:
  2605.     be,a .LL398
  2606.     st %g0,[%fp-44]
  2607. .LL398:
  2608.     call cgeti,0
  2609.     mov %l1,%o0
  2610.     st %o0,[%fp-52]
  2611.     sll %l1,2,%o0
  2612.     ld [%fp-52],%g4
  2613.     addcc %l1,-2,%l0
  2614.     be .LL401
  2615.     add %g4,%o0,%o1
  2616. .LL402:
  2617.     add %o1,-4,%o1
  2618.     add %l2,-4,%l2
  2619.     ld [%l2],%o0
  2620.     addcc %l0,-1,%l0
  2621.     bne .LL402
  2622.     st %o0,[%o1]
  2623. .LL401:
  2624.     cmp %l1,2
  2625.     bgu .LL403
  2626.     mov 2,%o0
  2627.     ld [%fp-52],%g1
  2628.     b .LL396
  2629.     st %o0,[%g1+4]
  2630. .LL403:
  2631.     ld [%fp-52],%g4
  2632.     ld [%g4],%o0
  2633.     sethi %hi(-16777216),%o1
  2634.     andn %o0,%o1,%o1
  2635.     ld [%fp-44],%g1
  2636.     sll %g1,24,%o0
  2637.     add %o1,%o0,%o1
  2638.     st %o1,[%g4+4]
  2639. .LL396:
  2640.     cmp %i4,0
  2641.     be .LL438
  2642.     cmp %i4,-1
  2643.     add %i5,2,%l0
  2644. .LL408:
  2645.     cmp %l0,%l6
  2646.     bge .LL440
  2647.     sll %l0,2,%o0
  2648.     ld [%l5+%o0],%o0
  2649.     cmp %o0,0
  2650.     be,a .LL408
  2651.     add %l0,1,%l0
  2652.     cmp %l0,%l6
  2653. .LL440:
  2654.     bne .LL410
  2655.     sub %l6,%l0,%o0
  2656.     sethi %hi(gzero),%o0
  2657.     call icopy,0
  2658.     ld [%o0+%lo(gzero)],%o0
  2659.     b .LL405
  2660.     mov %o0,%l4
  2661. .LL410:
  2662.     call cgeti,0
  2663.     add %o0,2,%o0
  2664.     mov %o0,%l4
  2665.     ld [%l4],%o0
  2666.     cmp %l7,0
  2667.     bne .LL412
  2668.     st %o0,[%l4+4]
  2669.     cmp %l0,%l6
  2670.     bge .LL417
  2671.     mov 2,%l3
  2672. .LL416:
  2673.     sll %l3,2,%o0
  2674.     sll %l0,2,%o1
  2675.     ld [%l5+%o1],%o1
  2676.     st %o1,[%l4+%o0]
  2677.     add %l0,1,%l0
  2678.     cmp %l0,%l6
  2679.     bl .LL416
  2680.     add %l3,1,%l3
  2681.     b .LL439
  2682.     ld [%l4+4],%o0
  2683. .LL412:
  2684.     st %g0,[%fp-20]
  2685.     sll %l0,2,%o0
  2686.     ld [%l5+%o0],%o3
  2687.     add %l0,1,%l0
  2688.     mov 32,%o0
  2689.     sub %o0,%l7,%o0
  2690.     sll %o3,%o0,%o0
  2691.     st %o0,[%fp-20]
  2692.     srl %o3,%l7,%o2
  2693.     cmp %o2,0
  2694.     be .LL418
  2695.     mov %o0,%g2
  2696.     st %o2,[%l4+8]
  2697.     b .LL419
  2698.     mov 1,%o0
  2699. .LL418:
  2700.     ld [%l4],%o0
  2701.     add %o0,-1,%o0
  2702.     st %o0,[%l4+4]
  2703.     add %l4,4,%l4
  2704.     sethi %hi(avma),%o1
  2705.     ld [%o1+%lo(avma)],%o0
  2706.     add %o0,4,%o0
  2707.     st %o0,[%o1+%lo(avma)]
  2708.     ld [%l4],%o0
  2709.     st %o0,[%l4+4]
  2710.     mov 0,%o0
  2711. .LL419:
  2712.     cmp %l0,%l6
  2713.     bge .LL417
  2714.     add %o0,2,%l3
  2715.     mov 32,%o0
  2716.     sub %o0,%l7,%o4
  2717. .LL423:
  2718.     sll %l3,2,%o2
  2719.     sll %l0,2,%o0
  2720.     ld [%l5+%o0],%o3
  2721.     sll %o3,%o4,%o1
  2722.     st %o1,[%fp-20]
  2723.     srl %o3,%l7,%o0
  2724.     add %o0,%g2,%o0
  2725.     st %o0,[%l4+%o2]
  2726.     mov %o1,%g2
  2727.     add %l0,1,%l0
  2728.     cmp %l0,%l6
  2729.     bl .LL423
  2730.     add %l3,1,%l3
  2731. .LL417:
  2732.     ld [%l4+4],%o0
  2733. .LL439:
  2734.     sethi %hi(-16777216),%o1
  2735.     andn %o0,%o1,%o1
  2736.     ld [%fp-36],%g4
  2737.     sll %g4,24,%o0
  2738.     add %o1,%o0,%o1
  2739.     st %o1,[%l4+4]
  2740. .LL405:
  2741.     cmp %i4,-1
  2742. .LL438:
  2743.     bne .LL424
  2744.     cmp %i4,0
  2745.     ld [%fp-28],%o0
  2746.     mov %i0,%o1
  2747.     call gerepile,0
  2748.     mov %l4,%o2
  2749.     b .LL426
  2750.     mov %o0,%i0
  2751. .LL424:
  2752.     be .LL425
  2753.     ld [%fp-28],%o0
  2754.     mov %i0,%o1
  2755.     call gerepile,0
  2756.     mov 0,%o2
  2757.     and %o0,-4,%o0
  2758.     add %l4,%o0,%o1
  2759.     st %o1,[%i4]
  2760.     ld [%fp-52],%g1
  2761.     b .LL426
  2762.     add %g1,%o0,%i0
  2763. .LL425:
  2764.     mov %i0,%o1
  2765.     call gerepile,0
  2766.     ld [%fp-52],%o2
  2767.     mov %o0,%i0
  2768. .LL426:
  2769.     ret
  2770.     restore
  2771. .LLfe13:
  2772.     .size     dvmdii,.LLfe13-dvmdii
  2773.     .align 4
  2774.     .global mulul3
  2775.     .type     mulul3,#function
  2776.     .proc    016
  2777. mulul3:
  2778.     !#PROLOGUE# 0
  2779.     save %sp,-112,%sp
  2780.     !#PROLOGUE# 1
  2781.      
  2782.         or      %i0,%i1,%o4      
  2783.         mov     %i0,%y
  2784.         andncc  %o4,0xfff,%g0
  2785.         be      2f
  2786.         andcc   %g0,%g0,%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,%i1,%o4
  2795.         mulscc  %o4,%i1,%o4
  2796.         mulscc  %o4,%i1,%o4
  2797.         mulscc  %o4,%i1,%o4
  2798.         mulscc  %o4,%i1,%o4
  2799.         mulscc  %o4,%i1,%o4
  2800.         mulscc  %o4,%i1,%o4
  2801.         mulscc  %o4,%i1,%o4
  2802.         mulscc  %o4,%i1,%o4
  2803.         mulscc  %o4,%i1,%o4
  2804.         mulscc  %o4,%i1,%o4
  2805.         mulscc  %o4,%i1,%o4
  2806.         mulscc  %o4,%i1,%o4
  2807.         mulscc  %o4,%i1,%o4
  2808.         mulscc  %o4,%i1,%o4
  2809.         mulscc  %o4,%i1,%o4
  2810.         mulscc  %o4,%i1,%o4
  2811.         mulscc  %o4,%i1,%o4
  2812.         mulscc  %o4,%i1,%o4
  2813.         mulscc  %o4,%i1,%o4
  2814.         mulscc  %o4,%i1,%o4
  2815.         mulscc  %o4,%i1,%o4
  2816.         mulscc  %o4,%i1,%o4
  2817.         mulscc  %o4,%i1,%o4
  2818.         mulscc  %o4,%i1,%o4
  2819.         mulscc  %o4,%g0,%o4
  2820.         tst     %i1
  2821.         bl,a    1f
  2822.         add     %o4,%i0,%o4
  2823. 1:      mov     %o4,%g2
  2824.         b       3f 
  2825.         rd      %y,%i0
  2826. 2:      clr     %g2
  2827.         mulscc  %o4,%i1,%o4
  2828.         mulscc  %o4,%i1,%o4
  2829.         mulscc  %o4,%i1,%o4
  2830.         mulscc  %o4,%i1,%o4
  2831.         mulscc  %o4,%i1,%o4
  2832.         mulscc  %o4,%i1,%o4
  2833.         mulscc  %o4,%i1,%o4
  2834.         mulscc  %o4,%i1,%o4
  2835.         mulscc  %o4,%i1,%o4
  2836.         mulscc  %o4,%i1,%o4
  2837.         mulscc  %o4,%i1,%o4
  2838.         mulscc  %o4,%i1,%o4
  2839.         mulscc  %o4,%g0,%o4
  2840.         rd      %y,%o5
  2841.         sll     %o4,12,%o4
  2842.         srl     %o5,20,%o5
  2843.         or      %o5,%o4,%i0
  2844. 3:       
  2845.  
  2846.     st %g2,[%i2]
  2847.     ret
  2848.     restore
  2849. .LLfe14:
  2850.     .size     mulul3,.LLfe14-mulul3
  2851.         .common    in_saved_avma,4,4
  2852.     .ident    "GCC: (GNU) 2.5.3"
  2853.