OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gdb/] [gdb-6.8/] [sim/] [testsuite/] [sim/] [mips/] [mdmx-ob.s] - Blame information for rev 26

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 26 jlechner
# MDMX .OB op tests.
2
# mach:  mips64 sb1
3
# as:           -mabi=eabi
4
# as(mips64):   -mabi=eabi -mdmx
5
# ld:           -N -Ttext=0x80010000
6
# output:       *\\npass\\n
7
 
8
        .include "testutils.inc"
9
        .include "utils-mdmx.inc"
10
 
11
        setup
12
 
13
        .set noreorder
14
 
15
        .ent DIAG
16
DIAG:
17
 
18
        enable_mdmx
19
 
20
 
21
        ###
22
        ### Non-accumulator, non-CC-using .ob format ops.
23
        ###
24
        ### Key: v = vector
25
        ###      ev = vector of single element
26
        ###      cv = vector of constant.
27
        ###
28
 
29
 
30
        writemsg "add.ob (v)"
31
        ld_ob   $f8, 0x1122334455667788
32
        ld_ob   $f9, 0x66778899aabbccdd
33
        add.ob  $f10, $f8, $f9
34
        ck_ob   $f10, 0x7799bbddffffffff
35
 
36
        writemsg "add.ob (ev)"
37
        ld_ob   $f8, 0x1122334455667788
38
        ld_ob   $f9, 0x66778899aabbccdd
39
        add.ob  $f10, $f8, $f9[6]
40
        ck_ob   $f10, 0x8899aabbccddeeff
41
 
42
        writemsg "add.ob (cv)"
43
        ld_ob   $f8, 0x1122334455667788
44
        add.ob  $f10, $f8, 0x10
45
        ck_ob   $f10, 0x2132435465768798
46
 
47
 
48
        writemsg "alni.ob"
49
        ld_ob   $f8, 0x1122334455667788
50
        ld_ob   $f9, 0x66778899aabbccdd
51
        alni.ob $f10, $f8, $f9, 3
52
        ck_ob   $f10, 0x4455667788667788
53
 
54
 
55
        writemsg "alnv.ob"
56
        ld_ob   $f8, 0x1122334455667788
57
        ld_ob   $f9, 0x66778899aabbccdd
58
        li      $4, 5
59
        alnv.ob $f10, $f8, $f9, $4
60
        ck_ob   $f10, 0x66778866778899aa
61
 
62
 
63
        writemsg "and.ob (v)"
64
        ld_ob   $f8, 0x1122334455667788
65
        ld_ob   $f9, 0x66778899aabbccdd
66
        and.ob  $f10, $f8, $f9
67
        ck_ob   $f10, 0x0022000000224488
68
 
69
        writemsg "and.ob (ev)"
70
        ld_ob   $f8, 0x1122334455667788
71
        ld_ob   $f9, 0x66778899aabbccdd
72
        and.ob  $f10, $f8, $f9[4]
73
        ck_ob   $f10, 0x1100110011001188
74
 
75
        writemsg "and.ob (cv)"
76
        ld_ob   $f8, 0x1122334455667788
77
        and.ob  $f10, $f8, 0x1e
78
        ck_ob   $f10, 0x1002120414061608
79
 
80
 
81
        writemsg "max.ob (v)"
82
        ld_ob   $f8, 0x1122334455667788
83
        ld_ob   $f9, 0x66778899aabbccdd
84
        max.ob  $f10, $f8, $f9
85
        ck_ob   $f10, 0x66778899aabbccdd
86
 
87
        writemsg "max.ob (ev)"
88
        ld_ob   $f8, 0x1122334455667788
89
        ld_ob   $f9, 0x66778899aabbccdd
90
        max.ob  $f10, $f8, $f9[7]
91
        ck_ob   $f10, 0x6666666666667788
92
 
93
        writemsg "max.ob (cv)"
94
        ld_ob   $f8, 0x1122334455667788
95
        max.ob  $f10, $f8, 0x15
96
        ck_ob   $f10, 0x1522334455667788
97
 
98
 
99
        writemsg "min.ob (v)"
100
        ld_ob   $f8, 0x1122334455667788
101
        ld_ob   $f9, 0x66778899aabbccdd
102
        min.ob  $f10, $f8, $f9
103
        ck_ob   $f10, 0x1122334455667788
104
 
105
        writemsg "min.ob (ev)"
106
        ld_ob   $f8, 0x1122334455667788
107
        ld_ob   $f9, 0x66778899aabbccdd
108
        min.ob  $f10, $f8, $f9[7]
109
        ck_ob   $f10, 0x1122334455666666
110
 
111
        writemsg "min.ob (cv)"
112
        ld_ob   $f8, 0x1122334455667788
113
        min.ob  $f10, $f8, 0x15
114
        ck_ob   $f10, 0x1115151515151515
115
 
116
 
117
        writemsg "mul.ob (v)"
118
        ld_ob   $f8, 0x1122334455667788
119
        ld_ob   $f9, 0x0001020304050607
120
        mul.ob  $f10, $f8, $f9
121
        ck_ob   $f10, 0x002266ccffffffff
122
 
123
        writemsg "mul.ob (ev)"
124
        ld_ob   $f8, 0x1122334455667788
125
        ld_ob   $f9, 0x0001020304050607
126
        mul.ob  $f10, $f8, $f9[4]
127
        ck_ob   $f10, 0x336699ccffffffff
128
 
129
        writemsg "mul.ob (cv)"
130
        ld_ob   $f8, 0x1122334455667788
131
        mul.ob  $f10, $f8, 2
132
        ck_ob   $f10, 0x22446688aacceeff
133
 
134
 
135
        writemsg "nor.ob (v)"
136
        ld_ob   $f8, 0x1122334455667788
137
        ld_ob   $f9, 0x66778899aabbccdd
138
        nor.ob  $f10, $f8, $f9
139
        ck_ob   $f10, 0x8888442200000022
140
 
141
        writemsg "nor.ob (ev)"
142
        ld_ob   $f8, 0x1122334455667788
143
        ld_ob   $f9, 0x66778899aabbccdd
144
        nor.ob  $f10, $f8, $f9[6]
145
        ck_ob   $f10, 0x8888888888888800
146
 
147
        writemsg "nor.ob (cv)"
148
        ld_ob   $f8, 0x1122334455667788
149
        nor.ob  $f10, $f8, 0x08
150
        ck_ob   $f10, 0xe6d5c4b3a2918077
151
 
152
 
153
        writemsg "or.ob (v)"
154
        ld_ob   $f8, 0x1122334455667788
155
        ld_ob   $f9, 0x66778899aabbccdd
156
        or.ob   $f10, $f8, $f9
157
        ck_ob   $f10, 0x7777bbddffffffdd
158
 
159
        writemsg "or.ob (ev)"
160
        ld_ob   $f8, 0x1122334455667788
161
        ld_ob   $f9, 0x66778899aabbccdd
162
        or.ob   $f10, $f8, $f9[6]
163
        ck_ob   $f10, 0x77777777777777ff
164
 
165
        writemsg "or.ob (cv)"
166
        ld_ob   $f8, 0x1122334455667788
167
        or.ob   $f10, $f8, 0x08
168
        ck_ob   $f10, 0x192a3b4c5d6e7f88
169
 
170
 
171
        writemsg "shfl.mixh.ob"
172
        ld_ob   $f8, 0x1122334455667788
173
        ld_ob   $f9, 0x66778899aabbccdd
174
        shfl.mixh.ob    $f10, $f8, $f9
175
        ck_ob   $f10, 0x1166227733884499
176
 
177
 
178
        writemsg "shfl.mixl.ob"
179
        ld_ob   $f8, 0x1122334455667788
180
        ld_ob   $f9, 0x66778899aabbccdd
181
        shfl.mixl.ob    $f10, $f8, $f9
182
        ck_ob   $f10, 0x55aa66bb77cc88dd
183
 
184
 
185
        writemsg "shfl.pach.ob"
186
        ld_ob   $f8, 0x1122334455667788
187
        ld_ob   $f9, 0x66778899aabbccdd
188
        shfl.pach.ob    $f10, $f8, $f9
189
        ck_ob   $f10, 0x113355776688aacc
190
 
191
 
192
        writemsg "shfl.upsl.ob"
193
        ld_ob   $f8, 0x1122334455667788
194
        shfl.upsl.ob    $f10, $f8, $f8
195
        ck_ob   $f10, 0x005500660077ff88
196
 
197
 
198
        writemsg "sll.ob (v)"
199
        ld_ob   $f8, 0x1122334455667788
200
        ld_ob   $f9, 0x0001020304050607
201
        sll.ob  $f10, $f8, $f9
202
        ck_ob   $f10, 0x1144cc2050c0c000
203
 
204
        writemsg "sll.ob (ev)"
205
        ld_ob   $f8, 0x1122334455667788
206
        ld_ob   $f9, 0x0001020304050607
207
        sll.ob  $f10, $f8, $f9[3]
208
        ck_ob   $f10, 0x1020304050607080
209
 
210
        writemsg "sll.ob (cv)"
211
        ld_ob   $f8, 0x1122334455667788
212
        sll.ob  $f10, $f8, 1
213
        ck_ob   $f10, 0x22446688aaccee10
214
 
215
 
216
        writemsg "srl.ob (v)"
217
        ld_ob   $f8, 0x1122334455667788
218
        ld_ob   $f9, 0x0001020304050607
219
        srl.ob  $f10, $f8, $f9
220
        ck_ob   $f10, 0x11110c0805030101
221
 
222
        writemsg "srl.ob (ev)"
223
        ld_ob   $f8, 0x1122334455667788
224
        ld_ob   $f9, 0x0001020304050607
225
        srl.ob  $f10, $f8, $f9[3]
226
        ck_ob   $f10, 0x0102030405060708
227
 
228
        writemsg "srl.ob (cv)"
229
        ld_ob   $f8, 0x1122334455667788
230
        srl.ob  $f10, $f8, 1
231
        ck_ob   $f10, 0x081119222a333b44
232
 
233
 
234
        writemsg "sub.ob (v)"
235
        ld_ob   $f8, 0x1122334455667788
236
        ld_ob   $f9, 0x0001020304050607
237
        sub.ob  $f10, $f8, $f9
238
        ck_ob   $f10, 0x1121314151617181
239
 
240
        writemsg "sub.ob (ev)"
241
        ld_ob   $f8, 0x1122334455667788
242
        ld_ob   $f9, 0x66778899aabbccdd
243
        sub.ob  $f10, $f8, $f9[7]
244
        ck_ob   $f10, 0x0000000000001122
245
 
246
        writemsg "sub.ob (cv)"
247
        ld_ob   $f8, 0x1122334455667788
248
        sub.ob  $f10, $f8, 0x10
249
        ck_ob   $f10, 0x0112233445566778
250
 
251
 
252
        writemsg "xor.ob (v)"
253
        ld_ob   $f8, 0x1122334455667788
254
        ld_ob   $f9, 0x66778899aabbccdd
255
        xor.ob  $f10, $f8, $f9
256
        ck_ob   $f10, 0x7755bbddffddbb55
257
 
258
        writemsg "xor.ob (ev)"
259
        ld_ob   $f8, 0x1122334455667788
260
        ld_ob   $f9, 0x66778899aabbccdd
261
        xor.ob  $f10, $f8, $f9[6]
262
        ck_ob   $f10, 0x66554433221100ff
263
 
264
        writemsg "xor.ob (cv)"
265
        ld_ob   $f8, 0x1122334455667788
266
        xor.ob  $f10, $f8, 0x08
267
        ck_ob   $f10, 0x192a3b4c5d6e7f80
268
 
269
 
270
        ###
271
        ### Accumulator .ob format ops (in order: rd/wr, math, scale/round)
272
        ###
273
        ### Key: v = vector
274
        ###      ev = vector of single element
275
        ###      cv = vector of constant.
276
        ###
277
 
278
 
279
        writemsg "wacl.ob / rac[hml].ob"
280
        ld_ob   $f8, 0x8001028304850687
281
        ld_ob   $f9, 0x1011121314151617
282
        wacl.ob $f8, $f9
283
        ck_acc_ob 0xff0000ff00ff00ff, 0x8001028304850687, 0x1011121314151617
284
 
285
        # Note: relies on data left in accumulator by previous test.
286
        writemsg "wach.ob / rac[hml].ob"
287
        ld_ob   $f8, 0x2021222324252627
288
        wach.ob $f8
289
        ck_acc_ob 0x2021222324252627, 0x8001028304850687, 0x1011121314151617
290
 
291
 
292
        writemsg "adda.ob (v)"
293
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
294
        ld_ob   $f8, 0x1122334455667788
295
        ld_ob   $f9, 0x66778899aabbccdd
296
        adda.ob $f8, $f9
297
        ck_acc_ob 0x0001020304050607, 0x0000000000010101, 0x7799bbddff214365
298
 
299
        writemsg "adda.ob (ev)"
300
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
301
        ld_ob   $f8, 0x1122334455667788
302
        ld_ob   $f9, 0x66778899aabbccdd
303
        adda.ob $f8, $f9[2]
304
        ck_acc_ob 0x0001020304050607, 0x0000000001010101, 0xccddeeff10213243
305
 
306
        writemsg "adda.ob (cv)"
307
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
308
        ld_ob   $f8, 0x1122334455667788
309
        adda.ob $f8, 0x1f
310
        ck_acc_ob 0x0001020304050607, 0x0000000000000000, 0x30415263748596a7
311
 
312
 
313
        writemsg "addl.ob (v)"
314
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
315
        ld_ob   $f8, 0x1122334455667788
316
        ld_ob   $f9, 0x66778899aabbccdd
317
        addl.ob $f8, $f9
318
        ck_acc_ob 0x0000000000000000, 0x0000000000010101, 0x7799bbddff214365
319
 
320
        writemsg "addl.ob (ev)"
321
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
322
        ld_ob   $f8, 0x1122334455667788
323
        ld_ob   $f9, 0x66778899aabbccdd
324
        addl.ob $f8, $f9[2]
325
        ck_acc_ob 0x0000000000000000, 0x0000000001010101, 0xccddeeff10213243
326
 
327
        writemsg "addl.ob (cv)"
328
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
329
        ld_ob   $f8, 0x1122334455667788
330
        addl.ob $f8, 0x1f
331
        ck_acc_ob 0x0000000000000000, 0x0000000000000000, 0x30415263748596a7
332
 
333
 
334
        writemsg "mula.ob (v)"
335
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
336
        ld_ob   $f8, 0x1122334455667788
337
        ld_ob   $f9, 0x66778899aabbccdd
338
        mula.ob $f8, $f9
339
        ck_acc_ob 0x0001020304050607, 0x060f1b28384a5e75, 0xc6ce18a47282d468
340
 
341
        writemsg "mula.ob (ev)"
342
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
343
        ld_ob   $f8, 0x1122334455667788
344
        ld_ob   $f9, 0x66778899aabbccdd
345
        mula.ob $f8, $f9[2]
346
        ck_acc_ob 0x0001020304050607, 0x0c1825313e4a5663, 0x6bd641ac1782ed58
347
 
348
        writemsg "mula.ob (cv)"
349
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
350
        ld_ob   $f8, 0x1122334455667788
351
        mula.ob $f8, 0x1f
352
        ck_acc_ob 0x0001020304050607, 0x020406080a0c0e10, 0x0f1e2d3c4b5a6978
353
 
354
 
355
        writemsg "mull.ob (v)"
356
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
357
        ld_ob   $f8, 0x1122334455667788
358
        ld_ob   $f9, 0x66778899aabbccdd
359
        mull.ob $f8, $f9
360
        ck_acc_ob 0x0000000000000000, 0x060f1b28384a5e75, 0xc6ce18a47282d468
361
 
362
        writemsg "mull.ob (ev)"
363
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
364
        ld_ob   $f8, 0x1122334455667788
365
        ld_ob   $f9, 0x66778899aabbccdd
366
        mull.ob $f8, $f9[2]
367
        ck_acc_ob 0x0000000000000000, 0x0c1825313e4a5663, 0x6bd641ac1782ed58
368
 
369
        writemsg "mull.ob (cv)"
370
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
371
        ld_ob   $f8, 0x1122334455667788
372
        mull.ob $f8, 0x1f
373
        ck_acc_ob 0x0000000000000000, 0x020406080a0c0e10, 0x0f1e2d3c4b5a6978
374
 
375
 
376
        writemsg "muls.ob (v)"
377
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
378
        ld_ob   $f8, 0x1122334455667788
379
        ld_ob   $f9, 0x66778899aabbccdd
380
        muls.ob $f8, $f9
381
        ck_acc_ob 0xff00010203040506, 0xf9f0e4d7c7b5a18a, 0x3a32e85c8e7e2c98
382
 
383
        writemsg "muls.ob (ev)"
384
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
385
        ld_ob   $f8, 0x1122334455667788
386
        ld_ob   $f9, 0x66778899aabbccdd
387
        muls.ob $f8, $f9[2]
388
        ck_acc_ob 0xff00010203040506, 0xf3e7dacec1b5a99c, 0x952abf54e97e13a8
389
 
390
        writemsg "muls.ob (cv)"
391
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
392
        ld_ob   $f8, 0x1122334455667788
393
        muls.ob $f8, 0x1f
394
        ck_acc_ob 0xff00010203040506, 0xfdfbf9f7f5f3f1ef, 0xf1e2d3c4b5a69788
395
 
396
 
397
        writemsg "mulsl.ob (v)"
398
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
399
        ld_ob   $f8, 0x1122334455667788
400
        ld_ob   $f9, 0x66778899aabbccdd
401
        mulsl.ob $f8, $f9
402
        ck_acc_ob 0xffffffffffffffff, 0xf9f0e4d7c7b5a18a, 0x3a32e85c8e7e2c98
403
 
404
        writemsg "mulsl.ob (ev)"
405
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
406
        ld_ob   $f8, 0x1122334455667788
407
        ld_ob   $f9, 0x66778899aabbccdd
408
        mulsl.ob $f8, $f9[2]
409
        ck_acc_ob 0xffffffffffffffff, 0xf3e7dacec1b5a99c, 0x952abf54e97e13a8
410
 
411
        writemsg "mulsl.ob (cv)"
412
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
413
        ld_ob   $f8, 0x1122334455667788
414
        mulsl.ob $f8, 0x1f
415
        ck_acc_ob 0xffffffffffffffff, 0xfdfbf9f7f5f3f1ef, 0xf1e2d3c4b5a69788
416
 
417
 
418
        writemsg "suba.ob (v)"
419
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
420
        ld_ob   $f8, 0x1122334455667788
421
        ld_ob   $f9, 0x66778899aabbccdd
422
        suba.ob $f8, $f9
423
        ck_acc_ob 0xff00010203040506, 0xffffffffffffffff, 0xabababababababab
424
 
425
        writemsg "suba.ob (ev)"
426
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
427
        ld_ob   $f8, 0x1122334455667788
428
        ld_ob   $f9, 0x66778899aabbccdd
429
        suba.ob $f8, $f9[2]
430
        ck_acc_ob 0xff00010203040506, 0xffffffffffffffff, 0x566778899aabbccd
431
 
432
        writemsg "suba.ob (cv)"
433
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
434
        ld_ob   $f8, 0x1122334455667788
435
        suba.ob $f8, 0x1f
436
        ck_acc_ob 0xff01020304050607, 0xff00000000000000, 0xf203142536475869
437
 
438
 
439
        writemsg "subl.ob (v)"
440
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
441
        ld_ob   $f8, 0x1122334455667788
442
        ld_ob   $f9, 0x66778899aabbccdd
443
        subl.ob $f8, $f9
444
        ck_acc_ob 0xffffffffffffffff, 0xffffffffffffffff, 0xabababababababab
445
 
446
        writemsg "subl.ob (ev)"
447
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
448
        ld_ob   $f8, 0x1122334455667788
449
        ld_ob   $f9, 0x66778899aabbccdd
450
        subl.ob $f8, $f9[2]
451
        ck_acc_ob 0xffffffffffffffff, 0xffffffffffffffff, 0x566778899aabbccd
452
 
453
        writemsg "subl.ob (cv)"
454
        ld_acc_ob 0x0001020304050607, 0x0000000000000000, 0x0000000000000000
455
        ld_ob   $f8, 0x1122334455667788
456
        subl.ob $f8, 0x1f
457
        ck_acc_ob 0xff00000000000000, 0xff00000000000000, 0xf203142536475869
458
 
459
 
460
        writemsg "rnau.ob (v)"
461
        ld_acc_ob 0x0000000000000000, 0x0000000003030303, 0x40424446f8fafcfe
462
        ld_ob   $f8, 0x0001020304050607
463
        rnau.ob $f9, $f8
464
        ck_ob   $f9, 0x4021110940201008
465
 
466
        writemsg "rnau.ob (ev)"
467
        ld_acc_ob 0x0000000000000000, 0x0000000003030303, 0x40424446f8fafcfe
468
        ld_ob   $f8, 0x0001020304050607
469
        rnau.ob $f9, $f8[4]
470
        ck_ob   $f9, 0x080809097f7f8080
471
 
472
        writemsg "rnau.ob (cv)"
473
        ld_acc_ob 0x0000000000000000, 0x0000000003030303, 0x40424446f8fafcfe
474
        rnau.ob $f9, 2
475
        ck_ob   $f9, 0x10111112feffffff
476
 
477
 
478
        writemsg "rneu.ob (v)"
479
        ld_acc_ob 0x0000000000000000, 0x0000000003030303, 0x40424446f8fafcfe
480
        ld_ob   $f8, 0x0001020304050607
481
        rneu.ob $f9, $f8
482
        ck_ob   $f9, 0x4021110940201008
483
 
484
        writemsg "rneu.ob (ev)"
485
        ld_acc_ob 0x0000000000000000, 0x0000000003030303, 0x40424446f8fafcfe
486
        ld_ob   $f8, 0x0001020304050607
487
        rneu.ob $f9, $f8[4]
488
        ck_ob   $f9, 0x080808097f7f8080
489
 
490
        writemsg "rneu.ob (cv)"
491
        ld_acc_ob 0x0000000000000000, 0x0000000003030303, 0x40424446f8fafcfe
492
        rneu.ob $f9, 2
493
        ck_ob   $f9, 0x10101112fefeffff
494
 
495
 
496
        writemsg "rzu.ob (v)"
497
        ld_acc_ob 0x0000000000000000, 0x0000000003030303, 0x40424446f8fafcfe
498
        ld_ob   $f8, 0x0001020304050607
499
        rzu.ob  $f9, $f8
500
        ck_ob   $f9, 0x402111083f1f0f07
501
 
502
        writemsg "rzu.ob (ev)"
503
        ld_acc_ob 0x0000000000000000, 0x0000000003030303, 0x40424446f8fafcfe
504
        ld_ob   $f8, 0x0001020304050607
505
        rzu.ob  $f9, $f8[4]
506
        ck_ob   $f9, 0x080808087f7f7f7f
507
 
508
        writemsg "rzu.ob (cv)"
509
        ld_acc_ob 0x0000000000000000, 0x0000000003030303, 0x40424446f8fafcfe
510
        rzu.ob  $f9, 2
511
        ck_ob   $f9, 0x10101111fefeffff
512
 
513
 
514
        ###
515
        ### CC-using .ob format ops.
516
        ###
517
        ### Key: v = vector
518
        ###      ev = vector of single element
519
        ###      cv = vector of constant.
520
        ###
521
 
522
 
523
        writemsg "c.eq.ob (v)"
524
        ld_ob   $f8, 0x0001010202030304
525
        ld_ob   $f9, 0x0101020203030404
526
        clr_fp_cc 0xff
527
        c.eq.ob $f8, $f9
528
        ck_fp_cc 0x55
529
 
530
        writemsg "c.eq.ob (ev)"
531
        ld_ob   $f8, 0x0001010202030304
532
        ld_ob   $f9, 0x0101020203030404
533
        clr_fp_cc 0xff
534
        c.eq.ob $f8, $f9[5]
535
        ck_fp_cc 0x18
536
 
537
        writemsg "c.eq.ob (cv)"
538
        ld_ob   $f8, 0x0001010202030304
539
        clr_fp_cc 0xff
540
        c.eq.ob $f8, 0x03
541
        ck_fp_cc 0x06
542
 
543
 
544
        writemsg "c.le.ob (v)"
545
        ld_ob   $f8, 0x0001010202030304
546
        ld_ob   $f9, 0x0101020203030404
547
        clr_fp_cc 0xff
548
        c.le.ob $f8, $f9
549
        ck_fp_cc 0xff
550
 
551
        writemsg "c.le.ob (ev)"
552
        ld_ob   $f8, 0x0001010202030304
553
        ld_ob   $f9, 0x0101020203030404
554
        clr_fp_cc 0xff
555
        c.le.ob $f8, $f9[5]
556
        ck_fp_cc 0xf8
557
 
558
        writemsg "c.le.ob (cv)"
559
        ld_ob   $f8, 0x0001010202030304
560
        clr_fp_cc 0xff
561
        c.le.ob $f8, 0x03
562
        ck_fp_cc 0xfe
563
 
564
 
565
        writemsg "c.lt.ob (v)"
566
        ld_ob   $f8, 0x0001010202030304
567
        ld_ob   $f9, 0x0101020203030404
568
        clr_fp_cc 0xff
569
        c.lt.ob $f8, $f9
570
        ck_fp_cc 0xaa
571
 
572
        writemsg "c.lt.ob (ev)"
573
        ld_ob   $f8, 0x0001010202030304
574
        ld_ob   $f9, 0x0101020203030404
575
        clr_fp_cc 0xff
576
        c.lt.ob $f8, $f9[5]
577
        ck_fp_cc 0xe0
578
 
579
        writemsg "c.lt.ob (cv)"
580
        ld_ob   $f8, 0x0001010202030304
581
        clr_fp_cc 0xff
582
        c.lt.ob $f8, 0x03
583
        ck_fp_cc 0xf8
584
 
585
 
586
        writemsg "pickf.ob (v)"
587
        ld_ob   $f8, 0x0001020304050607
588
        ld_ob   $f9, 0x08090a0b0c0d0e0f
589
        clrset_fp_cc 0xff, 0xaa
590
        pickf.ob $f10, $f8, $f9
591
        ck_ob   $f10, 0x08010a030c050e07
592
 
593
        writemsg "pickf.ob (ev)"
594
        ld_ob   $f8, 0x0001020304050607
595
        ld_ob   $f9, 0x08090a0b0c0d0e0f
596
        clrset_fp_cc 0xff, 0xaa
597
        pickf.ob $f10, $f8, $f9[4]
598
        ck_ob   $f10, 0x0b010b030b050b07
599
 
600
        writemsg "pickf.ob (cv)"
601
        ld_ob   $f8, 0x0001020304050607
602
        clrset_fp_cc 0xff, 0xaa
603
        pickf.ob $f10, $f8, 0x10
604
        ck_ob   $f10, 0x1001100310051007
605
 
606
 
607
        writemsg "pickt.ob (v)"
608
        ld_ob   $f8, 0x0001020304050607
609
        ld_ob   $f9, 0x08090a0b0c0d0e0f
610
        clrset_fp_cc 0xff, 0xaa
611
        pickt.ob $f10, $f8, $f9
612
        ck_ob   $f10, 0x0009020b040d060f
613
 
614
        writemsg "pickt.ob (ev)"
615
        ld_ob   $f8, 0x0001020304050607
616
        ld_ob   $f9, 0x08090a0b0c0d0e0f
617
        clrset_fp_cc 0xff, 0xaa
618
        pickt.ob $f10, $f8, $f9[5]
619
        ck_ob   $f10, 0x000a020a040a060a
620
 
621
        writemsg "pickt.ob (cv)"
622
        ld_ob   $f8, 0x0001020304050607
623
        clrset_fp_cc 0xff, 0xaa
624
        pickt.ob $f10, $f8, 0x10
625
        ck_ob   $f10, 0x0010021004100610
626
 
627
 
628
        pass
629
 
630
        .end DIAG

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.