]> git.donarmstrong.com Git - lilypond.git/blob - guile18/qt/md/_sparc_b.s
New upstream version 2.19.65
[lilypond.git] / guile18 / qt / md / _sparc_b.s
1 /*
2  * QuickThreads -- Threads-building toolkit.
3  * Copyright (c) 1993 by David Keppel
4  *
5  * Permission to use, copy, modify and distribute this software and
6  * its documentation for any purpose and without fee is hereby
7  * granted, provided that the above copyright notice and this notice
8  * appear in all copies.  This software is provided as a
9  * proof-of-concept and for demonstration purposes; there is no
10  * representation about the suitability of this software for any
11  * purpose.
12  */
13
14         .globl _b_call_reg
15         .globl _b_call_imm
16         .globl _b_add
17         .globl _b_load
18
19 _b_null:
20         retl
21         nop
22
23 _b_call_reg:
24         sethi %hi(_b_null),%o4
25         or %o4,%lo(_b_null),%o4
26         add %o7,%g0, %o3
27 L0:
28         call %o4
29         nop
30         call %o4
31         nop
32         call %o4
33         nop
34         call %o4
35         nop
36         call %o4
37         nop
38
39         subcc %o0,1,%o0
40         bg L0
41         nop
42         add %o3,%g0, %o7
43         retl
44         nop
45
46 _b_call_imm:
47         sethi %hi(_b_null),%o4
48         or %o4,%lo(_b_null),%o4
49         add %o7,%g0, %o3
50 L1:
51         call _b_null
52         call _b_null
53         call _b_null
54         call _b_null
55         call _b_null
56
57         subcc %o0,1,%o0
58         bg L0
59         nop
60         add %o3,%g0, %o7
61         retl
62         nop
63
64
65 _b_add:
66         add %o0,%g0,%o1
67         add %o0,%g0,%o2
68         add %o0,%g0,%o3
69         add %o0,%g0,%o4
70 L2:
71         sub %o0,5,%o0
72         sub %o1,5,%o1
73         sub %o2,5,%o2
74         sub %o3,5,%o3
75         sub %o4,5,%o4
76
77         subcc %o0,5,%o0
78         sub %o1,5,%o1
79         sub %o2,5,%o2
80         sub %o3,5,%o3
81         sub %o4,5,%o4
82
83         bg L2
84         nop
85         retl
86         nop
87
88
89 _b_load:
90         ld [%sp+ 0], %g0
91 L3:
92         ld [%sp+ 4],%g0
93         ld [%sp+ 8],%g0
94         ld [%sp+12],%g0
95         ld [%sp+16],%g0
96         ld [%sp+20],%g0
97         ld [%sp+24],%g0
98         ld [%sp+28],%g0
99         ld [%sp+32],%g0
100         ld [%sp+36],%g0
101
102         subcc %o0,10,%o0
103         bg L3
104         ld [%sp+ 0],%g0
105         retl
106         nop