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