Merge commit 'origin/master' into vm
[bpt/guile.git] / qt / md / mips_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 .ent b_null
20 b_null:
21 j $31
22 .end b_null
23
24 .ent b_call_reg
25 b_call_reg:
26 la $5,b_null
27 add $6, $31,0
28 $L0:
29 jal $5
30 jal $5
31 jal $5
32 jal $5
33 jal $5
34
35 sub $4, $4,5
36 bgtz $4,$L0
37 j $6
38 .end
39
40
41 .ent b_call_imm
42 b_call_imm:
43 add $6, $31,0
44 $L1:
45 jal b_null
46 jal b_null
47 jal b_null
48 jal b_null
49 jal b_null
50
51 sub $4, $4,5
52 bgtz $4,$L1
53 j $6
54 .end
55
56
57 .ent b_add
58 b_add:
59 add $5, $0,$4
60 add $6, $0,$4
61 add $7, $0,$4
62 add $8, $0,$4
63 $L2:
64 sub $4, $4,5
65 sub $5, $5,5
66 sub $6, $6,5
67 sub $7, $7,5
68 sub $8, $8,5
69
70 sub $4, $4,5
71 sub $5, $5,5
72 sub $6, $6,5
73 sub $7, $7,5
74 sub $8, $8,5
75
76 bgtz $4,$L2
77 j $31
78 .end
79
80
81 .ent b_load
82 b_load:
83 $L3:
84 ld $0, 0($sp)
85 ld $0, 4($sp)
86 ld $0, 8($sp)
87 ld $0, 12($sp)
88 ld $0, 16($sp)
89
90 ld $0, 20($sp)
91 ld $0, 24($sp)
92 ld $0, 28($sp)
93 ld $0, 32($sp)
94 ld $0, 36($sp)
95
96 sub $4, $4,10
97 bgtz $4,$L3
98 j $31
99 .end