home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ledar34.zip / leda-r-3_4_tar / LEDA-3.4 / src / sparc / _sparc_add.s < prev    next >
Text File  |  1996-09-03  |  5KB  |  319 lines

  1. gcc2_compiled.:
  2. ___gnu_compiled_c:
  3. .text
  4.     .align 4
  5.     .global _School_Add
  6.     .proc    016
  7. _School_Add:
  8.     !#PROLOGUE# 0
  9.     !#PROLOGUE# 1
  10.     srl %o3,4,%o5
  11.     sll %o1,2,%g2
  12.     add %o4,%g2,%g1
  13.     and %o3,15,%o3
  14.     cmp %o3,15
  15.     bgu L37
  16.     sethi %hi(L19),%g2
  17.     or %g2,%lo(L19),%g2
  18.     sll %o3,2,%g3
  19.     ld [%g3+%g2],%g2
  20.     jmp %g2
  21.     addcc  %g0,%g0,%g3
  22. L19:
  23.     .word    L18
  24.     .word    L17
  25.     .word    L16
  26.     .word    L15
  27.     .word    L14
  28.     .word    L13
  29.     .word    L12
  30.     .word    L11
  31.     .word    L10
  32.     .word    L9
  33.     .word    L8
  34.     .word    L7
  35.     .word    L6
  36.     .word    L5
  37.     .word    L4
  38.     .word    L3
  39. L3:
  40.     ld [%o0],%g2
  41.     add %o0,4,%o0
  42.     ld [%o2],%g3
  43.     add %o2,4,%o2
  44.     addxcc  %g3, %g2,  %g2
  45.     st %g2,[%o4]
  46.     add %o4,4,%o4
  47. L4:
  48.     ld [%o0],%g2
  49.     add %o0,4,%o0
  50.     ld [%o2],%g3
  51.     add %o2,4,%o2
  52.     addxcc  %g3, %g2,  %g2
  53.     st %g2,[%o4]
  54.     add %o4,4,%o4
  55. L5:
  56.     ld [%o0],%g2
  57.     add %o0,4,%o0
  58.     ld [%o2],%g3
  59.     add %o2,4,%o2
  60.     addxcc  %g3, %g2,  %g2
  61.     st %g2,[%o4]
  62.     add %o4,4,%o4
  63. L6:
  64.     ld [%o0],%g2
  65.     add %o0,4,%o0
  66.     ld [%o2],%g3
  67.     add %o2,4,%o2
  68.     addxcc  %g3, %g2,  %g2
  69.     st %g2,[%o4]
  70.     add %o4,4,%o4
  71. L7:
  72.     ld [%o0],%g2
  73.     add %o0,4,%o0
  74.     ld [%o2],%g3
  75.     add %o2,4,%o2
  76.     addxcc  %g3, %g2,  %g2
  77.     st %g2,[%o4]
  78.     add %o4,4,%o4
  79. L8:
  80.     ld [%o0],%g2
  81.     add %o0,4,%o0
  82.     ld [%o2],%g3
  83.     add %o2,4,%o2
  84.     addxcc  %g3, %g2,  %g2
  85.     st %g2,[%o4]
  86.     add %o4,4,%o4
  87. L9:
  88.     ld [%o0],%g2
  89.     add %o0,4,%o0
  90.     ld [%o2],%g3
  91.     add %o2,4,%o2
  92.     addxcc  %g3, %g2,  %g2
  93.     st %g2,[%o4]
  94.     add %o4,4,%o4
  95. L10:
  96.     ld [%o0],%g2
  97.     add %o0,4,%o0
  98.     ld [%o2],%g3
  99.     add %o2,4,%o2
  100.     addxcc  %g3, %g2,  %g2
  101.     st %g2,[%o4]
  102.     add %o4,4,%o4
  103. L11:
  104.     ld [%o0],%g2
  105.     add %o0,4,%o0
  106.     ld [%o2],%g3
  107.     add %o2,4,%o2
  108.     addxcc  %g3, %g2,  %g2
  109.     st %g2,[%o4]
  110.     add %o4,4,%o4
  111. L12:
  112.     ld [%o0],%g2
  113.     add %o0,4,%o0
  114.     ld [%o2],%g3
  115.     add %o2,4,%o2
  116.     addxcc  %g3, %g2,  %g2
  117.     st %g2,[%o4]
  118.     add %o4,4,%o4
  119. L13:
  120.     ld [%o0],%g2
  121.     add %o0,4,%o0
  122.     ld [%o2],%g3
  123.     add %o2,4,%o2
  124.     addxcc  %g3, %g2,  %g2
  125.     st %g2,[%o4]
  126.     add %o4,4,%o4
  127. L14:
  128.     ld [%o0],%g2
  129.     add %o0,4,%o0
  130.     ld [%o2],%g3
  131.     add %o2,4,%o2
  132.     addxcc  %g3, %g2,  %g2
  133.     st %g2,[%o4]
  134.     add %o4,4,%o4
  135. L15:
  136.     ld [%o0],%g2
  137.     add %o0,4,%o0
  138.     ld [%o2],%g3
  139.     add %o2,4,%o2
  140.     addxcc  %g3, %g2,  %g2
  141.     st %g2,[%o4]
  142.     add %o4,4,%o4
  143. L16:
  144.     ld [%o0],%g2
  145.     add %o0,4,%o0
  146.     ld [%o2],%g3
  147.     add %o2,4,%o2
  148.     addxcc  %g3, %g2,  %g2
  149.     st %g2,[%o4]
  150.     add %o4,4,%o4
  151. L17:
  152.     ld [%o0],%g2
  153.     add %o0,4,%o0
  154.     ld [%o2],%g3
  155.     add %o2,4,%o2
  156.     addxcc  %g3, %g2,  %g2
  157.     st %g2,[%o4]
  158.     add %o4,4,%o4
  159. L18:
  160.     addx  %g0,%g0,%g3
  161.     b L39
  162.     add %o5,-1,%o5
  163. L23:
  164.     addcc 0xffffffff,%g3,%g3
  165.     ld [%o0],%g2
  166.     add %o0,4,%o0
  167.     ld [%o2],%g3
  168.     add %o2,4,%o2
  169.     addxcc  %g3, %g2,  %g2
  170.     st %g2,[%o4]
  171.     add %o4,4,%o4
  172.     ld [%o0],%g2
  173.     add %o0,4,%o0
  174.     ld [%o2],%g3
  175.     add %o2,4,%o2
  176.     addxcc  %g3, %g2,  %g2
  177.     st %g2,[%o4]
  178.     add %o4,4,%o4
  179.     ld [%o0],%g2
  180.     add %o0,4,%o0
  181.     ld [%o2],%g3
  182.     add %o2,4,%o2
  183.     addxcc  %g3, %g2,  %g2
  184.     st %g2,[%o4]
  185.     add %o4,4,%o4
  186.     ld [%o0],%g2
  187.     add %o0,4,%o0
  188.     ld [%o2],%g3
  189.     add %o2,4,%o2
  190.     addxcc  %g3, %g2,  %g2
  191.     st %g2,[%o4]
  192.     add %o4,4,%o4
  193.     ld [%o0],%g2
  194.     add %o0,4,%o0
  195.     ld [%o2],%g3
  196.     add %o2,4,%o2
  197.     addxcc  %g3, %g2,  %g2
  198.     st %g2,[%o4]
  199.     add %o4,4,%o4
  200.     ld [%o0],%g2
  201.     add %o0,4,%o0
  202.     ld [%o2],%g3
  203.     add %o2,4,%o2
  204.     addxcc  %g3, %g2,  %g2
  205.     st %g2,[%o4]
  206.     add %o4,4,%o4
  207.     ld [%o0],%g2
  208.     add %o0,4,%o0
  209.     ld [%o2],%g3
  210.     add %o2,4,%o2
  211.     addxcc  %g3, %g2,  %g2
  212.     st %g2,[%o4]
  213.     add %o4,4,%o4
  214.     ld [%o0],%g2
  215.     add %o0,4,%o0
  216.     ld [%o2],%g3
  217.     add %o2,4,%o2
  218.     addxcc  %g3, %g2,  %g2
  219.     st %g2,[%o4]
  220.     add %o4,4,%o4
  221.     ld [%o0],%g2
  222.     add %o0,4,%o0
  223.     ld [%o2],%g3
  224.     add %o2,4,%o2
  225.     addxcc  %g3, %g2,  %g2
  226.     st %g2,[%o4]
  227.     add %o4,4,%o4
  228.     ld [%o0],%g2
  229.     add %o0,4,%o0
  230.     ld [%o2],%g3
  231.     add %o2,4,%o2
  232.     addxcc  %g3, %g2,  %g2
  233.     st %g2,[%o4]
  234.     add %o4,4,%o4
  235.     ld [%o0],%g2
  236.     add %o0,4,%o0
  237.     ld [%o2],%g3
  238.     add %o2,4,%o2
  239.     addxcc  %g3, %g2,  %g2
  240.     st %g2,[%o4]
  241.     add %o4,4,%o4
  242.     ld [%o0],%g2
  243.     add %o0,4,%o0
  244.     ld [%o2],%g3
  245.     add %o2,4,%o2
  246.     addxcc  %g3, %g2,  %g2
  247.     st %g2,[%o4]
  248.     add %o4,4,%o4
  249.     ld [%o0],%g2
  250.     add %o0,4,%o0
  251.     ld [%o2],%g3
  252.     add %o2,4,%o2
  253.     addxcc  %g3, %g2,  %g2
  254.     st %g2,[%o4]
  255.     add %o4,4,%o4
  256.     ld [%o0],%g2
  257.     add %o0,4,%o0
  258.     ld [%o2],%g3
  259.     add %o2,4,%o2
  260.     addxcc  %g3, %g2,  %g2
  261.     st %g2,[%o4]
  262.     add %o4,4,%o4
  263.     ld [%o0],%g2
  264.     add %o0,4,%o0
  265.     ld [%o2],%g3
  266.     add %o2,4,%o2
  267.     addxcc  %g3, %g2,  %g2
  268.     st %g2,[%o4]
  269.     add %o4,4,%o4
  270.     ld [%o0],%g2
  271.     add %o0,4,%o0
  272.     ld [%o2],%g3
  273.     add %o2,4,%o2
  274.     addxcc  %g3, %g2,  %g2
  275.     st %g2,[%o4]
  276.     add %o4,4,%o4
  277.     addx  %g0,%g0,%g3
  278. L37:
  279.     add %o5,-1,%o5
  280. L39:
  281.     cmp %o5,-1
  282.     bne L23
  283.     cmp %o4,%o0
  284.     be L25
  285.     cmp %o4,%g1
  286.     bgeu L27
  287.     mov %o4,%o2
  288. L29:
  289.     ld [%o0],%g2
  290.     st %g2,[%o2]
  291.     add %o2,4,%o2
  292.     cmp %o2,%g1
  293.     blu L29
  294.     add %o0,4,%o0
  295. L27:
  296.     st %g0,[%g1]
  297. L25:
  298.     cmp %g3,0
  299.     be L40
  300.     mov %o1,%o0
  301.     b L41
  302.     ld [%o4],%g2
  303. L34:
  304.     add %o4,4,%o4
  305.     ld [%o4],%g2
  306. L41:
  307.     add %g2,1,%g2
  308.     cmp %g2,0
  309.     be L34
  310.     st %g2,[%o4]
  311.     cmp %o4,%g1
  312.     be,a L31
  313.     add %o1,1,%o1
  314. L31:
  315.     mov %o1,%o0
  316. L40:
  317.     retl
  318.     nop
  319.