* tests/asmobs/README: removed (functionality is now in standalone/).
[bpt/guile.git] / 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