1# mips r6 branch tests (non FPU)
2# mach: mips32r6 mips64r6
3# as:   -mabi=eabi
4# ld:   -N -Ttext=0x80010000
5# output: *\\npass\\n
6
7  .include "testutils.inc"
8  .include "utils-r6.inc"
9
10  setup
11
12  .set noreorder
13
14  .ent DIAG
15DIAG:
16  li $14, 0xffffffff
17  li $13, 0x123
18  li $12, 0x45
19  li $7, 0x45
20  li $8, 0xfffffffe
21  li $9, 2147483647
22  li $11, 0
23
24  writemsg "[1] Test BOVC"
25  bovc $12, $13, Lfail
26  nop
27  bovc $9, $13, L2
28  nop
29  fail
30
31L2:
32  writemsg "[2] Test BNVC"
33  bnvc $9, $13, Lfail
34  nop
35  bnvc $12, $13, L3
36  nop
37  fail
38
39L3:
40  writemsg "[3] Test BEQC"
41  beqc $12, $13, Lfail
42  nop
43  beqc $12, $7, L4
44  nop
45  fail
46
47L4:
48  writemsg "[4] Test BNEC"
49  bnec $12, $7, Lfail
50  nop
51  bnec $12, $13, L5
52  nop
53  fail
54
55L5:
56  writemsg "[5] Test BLTC"
57  bltc $13, $12, Lfail
58  nop
59  bltc $12, $13, L6
60  nop
61  fail
62
63L6:
64#  writemsg "[6] Test BLEC"
65#  blec $13, $12, Lfail
66#  nop
67#  blec $7, $12, L7
68#  nop
69#  fail
70
71L7:
72  writemsg "[7] Test BGEC"
73  bgec $12, $13, Lfail
74  nop
75  bgec $13, $12, L8
76  nop
77  fail
78
79L8:
80#  writemsg "[8] Test BGTC"
81#  bgtc $12, $13, Lfail
82#  nop
83#  bgtc $13, $12, L9
84#  nop
85#  fail
86
87
88L9:
89  writemsg "[9] Test BLTUC"
90  bltuc $14, $13, Lfail
91  nop
92  bltuc $8, $14, L10
93  nop
94  fail
95
96L10:
97#  writemsg "[10] Test BLEUC"
98#  bleuc $14, $13, Lfail
99#  nop
100#  bleuc $8, $14, L11
101#  nop
102#  fail
103
104L11:
105  writemsg "[11] Test BGEUC"
106  bgeuc $13, $14, Lfail
107  nop
108  bgeuc $14, $8, L12
109  nop
110  fail
111
112L12:
113#  writemsg "[12] Test BGTUC"
114#  bgtuc $13, $14, Lfail
115#  nop
116#  bgtuc $14, $8, L13
117#  nop
118#  fail
119
120L13:
121  writemsg "[13] Test BLTZC"
122  bltzc $13, Lfail
123  nop
124  bltzc $11, Lfail
125  nop
126  bltzc $14, L14
127  nop
128  fail
129
130L14:
131  writemsg "[14] Test BLEZC"
132  blezc $13, Lfail
133  nop
134  blezc $11, L145
135  nop
136  fail
137L145:
138  blezc $14, L15
139  nop
140  fail
141
142L15:
143  writemsg "[15] Test BGEZC"
144  bgezc $8, Lfail
145  nop
146  bgezc $11, L155
147  nop
148  fail
149L155:
150  bgezc $13, L16
151  nop
152  fail
153
154L16:
155  writemsg "[16] Test BGTZC"
156  bgtzc $8, Lfail
157  nop
158  bgtzc $11, Lfail
159  nop
160  bgtzc $13, L17
161  nop
162  fail
163
164  li $10, 0
165
166L17:
167  writemsg "[17] Test BLEZALC"
168  blezalc $12, Lfail
169  nop
170  blezalc $11, Lret
171  li $10, 1
172  beqzc $10, L175
173  nop
174  fail
175L175:
176  blezalc $14, Lret
177  li $10, 1
178  beqzc $10, L18
179  nop
180  fail
181
182L18:
183  writemsg "[18] Test BGEZALC"
184  bgezalc $14, Lfail
185  nop
186  bgezalc $11, Lret
187  li $10, 1
188  beqzc $10, L185
189  nop
190  fail
191L185:
192  bgezalc $12, Lret
193  li $10, 1
194  beqzc $10, L19
195  nop
196  fail
197
198L19:
199  writemsg "[19] Test BGTZALC"
200  bgtzalc $14, Lfail
201  nop
202  bgtzalc $11, Lfail
203  nop
204  bgtzalc $12, Lret
205  li $10, 1
206  beqzc $10, L20
207  nop
208  fail
209
210L20:
211  writemsg "[20] Test BLTZALC"
212  bltzalc $12, Lfail
213  nop
214  bltzalc $11, Lfail
215  nop
216  bltzalc $14, Lret
217  li $10, 1
218  beqzc $10, L21
219  nop
220  fail
221
222L21:
223  writemsg "[21] Test BC"
224  bc L22
225  fail
226
227L22:
228  writemsg "[22] Test BALC"
229  balc Lret
230  li $10, 1
231  beqzc $10, L23
232  nop
233  fail
234
235L23:
236  writemsg "[23] Test JIC"
237  jal GetPC
238  nop
239  jic $6, 4
240  nop
241  fail
242
243L24:
244  writemsg "[24] Test JIALC"
245  li $10, 1
246  jal GetPC
247  nop
248  jialc $6, 20
249  nop
250  beqzc $10, L25
251  nop
252  fail
253
254LJIALCRET:
255  li $10, 0
256  jr $ra
257  nop
258
259L25:
260  writemsg "[25] Test NAL"
261  jal GetPC
262  nop
263  move $11, $6
264  nal
265  nop
266  addiu $11, 12
267  beqc $11, $31, L26
268  nop
269  fail
270
271L26:
272  writemsg "[26] Test BAL"
273  balc Lret
274  li $10, 1
275  beqzc $10, Lend
276  nop
277  fail
278
279Lend:
280  pass
281
282Lfail:
283  fail
284
285  .end DIAG
286
287Lret:
288  li $10, 0
289  addiu $ra, 4
290  jr $ra
291  nop
292