1; @OC@ test
2; Generic binary operations supporting all sizes and their various
3; addressing modes.
4
5; Some fairly big pseudorandom numbers we don't want to compute
6; as differences in actual data or code.
7
8 .set const_int_32, 0x1b94452b
9 .set const_int_m32, -3513208907
10 .set two701867, 2701867
11
12; Other constants that are not differences
13 .set forty2, 42
14 .set mforty2, -42
15
16 .set three2767, 32767
17 .set six5535, 65535
18
19 .text
20 .syntax no_register_prefix
21notstart:
22 .dword 0
23
24start:
25
26;;;;;;;;;;;;;;;;;
27;
28; r,r
29 @OC@.b r3,r5
30 @OC@.w r5,r13
31 @OC@.d r10,r1
32
33;;;;;;;;;;;;;;;;;
34;
35; [r],r
36 @OC@.b [r0],r5
37 @OC@.w [r5],r13
38 @OC@.d [r10],r1
39
40 @OC@ r13,[r5]
41 @OC@ r1,[r10]
42
43;;;;;;;;;;;;;;;;;
44;
45; [r+],r
46 @OC@.b [r0+],r5
47 @OC@.w [r5+],r13
48 @OC@.d [r10+],r1
49
50 @OC@ r13,[r5+]
51 @OC@ r4,[r10+]
52
53;;;;;;;;;;;;;;;;;
54;
55; const,r
56 @OC@.b 0,r5
57 @OC@.b 1,r5
58 @OC@.b 127,r5
59 @OC@.b 128,r5
60 @OC@.b -1,r5
61 @OC@.b -127,r5
62 @OC@.b -128,r5
63 @OC@.b 255,r5
64
65 @OC@.b 42,r5
66 @OC@.b -42,r5
67 @OC@.b forty2,r5
68 @OC@.b mforty2,r5
69 @OC@.b -forty2,r5
70 @OC@.b -mforty2,r5
71 @OC@.b externalsym,r5
72
73 @OC@.w 0,r13
74 @OC@.w 1,r13
75 @OC@.w 127,r13
76 @OC@.w 128,r13
77 @OC@.w -1,r13
78 @OC@.w -127,r13
79 @OC@.w -128,r13
80 @OC@.w -129,r13
81 @OC@.w 255,r13
82 @OC@.w -255,r13
83 @OC@.w 256,r13
84 @OC@.w -8856,r13
85 @OC@.w 8856,r13
86
87 @OC@.w 42,r13
88 @OC@.w -42,r13
89 @OC@.w forty2,r13
90 @OC@.w mforty2,r13
91 @OC@.w -forty2,r5
92 @OC@.w -mforty2,r5
93
94 @OC@.w three2767,r5
95 @OC@.w three2767+1,r5
96 @OC@.w three2767+2,r13
97 @OC@.w -three2767,r13
98 @OC@.w -(three2767+1),r13
99 @OC@.w six5535,r5
100 @OC@.w externalsym,r5
101
102 @OC@.d 0,r1
103 @OC@.d 1,r1
104 @OC@.d 127,r1
105 @OC@.d 128,r1
106 @OC@.d -1,r1
107 @OC@.d -127,r1
108 @OC@.d -128,r1
109 @OC@.d 255,r1
110 @OC@.d -255,r1
111 @OC@.d 256,r1
112 @OC@.d -8856,r1
113 @OC@.d 8856,r1
114
115 @OC@.d 2781868,r1
116 @OC@.d -2701867,r1
117
118 @OC@.d 0x9ec0ceac,r1
119 @OC@.d -0x7ec0cead,r1
120 @OC@.d const_int_m32,r1
121 @OC@.d const_int_32,r1
122
123 @OC@.d 42,r13
124 @OC@.d -42,r5
125 @OC@.d forty2,r5
126 @OC@.d mforty2,r5
127 @OC@.d -forty2,r5
128 @OC@.d -mforty2,r5
129
130 @OC@.d three2767,r5
131 @OC@.d three2767+1,r5
132 @OC@.d three2767+2,r5
133 @OC@.d -three2767,r5
134 @OC@.d -(three2767+1),r13
135 @OC@.d -(three2767+2),r13
136 @OC@.d six5535,r5
137 @OC@.d six5535+1,r13
138 @OC@.d two701867,r5
139 @OC@.d -two701867,r5
140
141 @OC@.d externalsym,r5
142
143;;;;;;;;;;;;;;;;;
144;
145; [r+X],r
146
147; [r+r.b],r
148
149 @OC@.b [r2+r0.b],r5
150 @OC@.w [r2+r5.b],r13
151 @OC@.d [r2+r10.b],r1
152
153 @OC@ r13,[r2+r5.b]
154 @OC@ r3,[r2+r10.b]
155
156; [r+[r].b],r
157 @OC@.b [r2+[r0].b],r5
158 @OC@.w [r2+[r5].b],r13
159 @OC@.d [r2+[r10].b],r1
160
161 @OC@ r13,[r2+[r5].b]
162 @OC@ r2,[r2+[r10].b]
163
164; [r+[r+].b],r
165 @OC@.b [r2+[r0+].b],r5
166 @OC@.w [r2+[r5+].b],r13
167 @OC@.d [r2+[r10+].b],r1
168
169 @OC@.w [r2+[r5+].b],r13
170
171 @OC@.d [r2+[r10+].b],r1
172
173 @OC@ r0,[r2+[r5+].b]
174 @OC@ r12,[r2+[r10+].b]
175
176; [r+r.w],r
177
178 @OC@.b [r2+r0.w],r5
179 @OC@.w [r2+r5.w],r13
180 @OC@.d [r2+r10.w],r1
181
182; [r+[r].w],r
183 @OC@.b [r2+[r0].w],r5
184 @OC@.w [r2+[r5].w],r13
185 @OC@.d [r2+[r10].w],r1
186
187 @OC@ r2,[r2+[r5].w]
188 @OC@ r6,[r2+[r10].w]
189
190; [r+[r+].w],r
191 @OC@.b [r2+[r0+].w],r5
192 @OC@.w [r2+[r5+].w],r13
193 @OC@.d [r2+[r10+].w],r1
194
195 @OC@.w [r2+[r5+].w],r13
196
197 @OC@.d [r2+[r10+].w],r1
198
199 @OC@ r7,[r2+[r5+].w]
200 @OC@ r8,[r2+[r10+].w]
201
202; [r+r.d],r
203
204 @OC@.b [r2+r0.d],r5
205 @OC@.w [r2+r5.d],r13
206 @OC@.d [r2+r10.d],r1
207
208 @OC@ r12,[r2+r5.d]
209 @OC@ r9,[r2+r10.d]
210
211; [r+[r].d],r
212 @OC@.b [r2+[r0].d],r5
213 @OC@.w [r2+[r5].d],r13
214 @OC@.d [r2+[r10].d],r1
215
216 @OC@ r13,[r2+[r5].d]
217 @OC@ r8,[r2+[r10].d]
218
219; [r+[r+].d],r
220 @OC@.b [r2+[r0+].d],r5
221 @OC@.w [r2+[r5+].d],r13
222 @OC@.d [r2+[r10+].d],r1
223
224 @OC@.w [r2+[r5+].d],r13
225
226 @OC@.d [r2+[r10+].d],r1
227
228 @OC@ r0,[r2+[r5+].d]
229 @OC@ r5,[r2+[r10+].d]
230
231; [r+const],r
232
233; Note that I forgot 16-bit offsets and 32-bit offsets here and later.
234; Maybe add them later if it feels necessary.
235
236 @OC@.b [r2+0],r5
237 @OC@.b [r2+1],r5
238 @OC@.b [r2+127],r5
239 @OC@.b [r2+128],r5
240 @OC@.b [r2+-1],r5
241 @OC@.b [r2+-127],r5
242 @OC@.b [r2+-128],r5
243 @OC@.b [r2+255],r5
244
245 @OC@.b [r2+42],r5
246 @OC@.b [r2+-42],r5
247 @OC@.b [r2-42],r5
248 @OC@.b [r2+forty2],r5
249 @OC@.b [r2+mforty2],r5
250 @OC@.b [r2+-forty2],r5
251 @OC@.b [r2+-mforty2],r5
252 @OC@.b [r2-forty2],r5
253 @OC@.b [r2-mforty2],r5
254 @OC@.b [r2+externalsym],r5
255
256; Note that I missed 32-bit offsets (except -32769) here and later.
257; Maybe add them later if it feels necessary.
258
259 @OC@.w [r2+0],r13
260 @OC@.w [r2+1],r13
261 @OC@.w [r2+127],r13
262 @OC@.w [r2+128],r13
263 @OC@.w [r2+-1],r13
264 @OC@.w [r2-1],r13
265 @OC@.w [r2+-127],r13
266 @OC@.w [r2+-128],r13
267 @OC@.w [r2+-129],r13
268 @OC@.w [r2-127],r13
269 @OC@.w [r2-128],r13
270 @OC@.w [r2-129],r13
271 @OC@.w [r2+255],r13
272 @OC@.w [r2+-255],r13
273 @OC@.w [r2-255],r13
274 @OC@.w [r2+256],r13
275 @OC@.w [r2-256],r13
276 @OC@.w [r2+-8856],r13
277 @OC@.w [r2-8856],r13
278 @OC@.w [r2+8856],r13
279
280 @OC@.w [r2+42],r13
281 @OC@.w [r2+-42],r13
282 @OC@.w [r2-42],r13
283 @OC@.w [r2+forty2],r13
284 @OC@.w [r2+mforty2],r13
285 @OC@.w [r2+-forty2],r5
286 @OC@.w [r2-forty2],r5
287 @OC@.w [r2+-mforty2],r5
288
289 @OC@.w [r2+three2767],r5
290 @OC@.w [r2+three2767+1],r5
291 @OC@.w [r2+three2767+2],r13
292 @OC@.w [r2+-three2767],r13
293 @OC@.w [r2+-(three2767+1)],r13
294 @OC@.w [r2+-(three2767+2)],r5
295 @OC@.w [r2-three2767],r13
296 @OC@.w [r2-(three2767+1)],r13
297 @OC@.w [r2-(three2767+2)],r5
298 @OC@.w [r2+six5535],r5
299 @OC@.w [r2+externalsym],r5
300
301 @OC@.d [r2+0],r1
302 @OC@.d [r2+1],r1
303 @OC@.d [r2+127],r1
304 @OC@.d [r2+128],r1
305 @OC@.d [r2+-1],r1
306 @OC@.d [r2-1],r1
307 @OC@.d [r2+-127],r1
308 @OC@.d [r2+-128],r1
309 @OC@.d [r2-127],r1
310 @OC@.d [r2-128],r1
311 @OC@.d [r2+255],r1
312 @OC@.d [r2+-255],r1
313 @OC@.d [r2-255],r1
314 @OC@.d [r2+256],r1
315 @OC@.d [r2-256],r1
316 @OC@.d [r2-8856],r1
317 @OC@.d [r2+-256],r1
318 @OC@.d [r2+-8856],r1
319 @OC@.d [r2+8856],r1
320
321 @OC@.d [r2+2781868],r1
322 @OC@.d [r2+-2701867],r1
323
324 @OC@.d [r2+0x9ec0ceac],r1
325 @OC@.d [r2+-0x7ec0cead],r1
326 @OC@.d [r2-0x7ec0cead],r1
327 @OC@.d [r2+const_int_m32],r1
328 @OC@.d [r2+const_int_32],r1
329
330 @OC@.d [r2+42],r13
331 @OC@.d [r2-42],r5
332 @OC@.d [r2+-42],r5
333 @OC@.d [r2+forty2],r5
334 @OC@.d [r2+mforty2],r5
335 @OC@.d [r2-forty2],r5
336 @OC@.d [r2-mforty2],r5
337 @OC@.d [r2+-forty2],r5
338 @OC@.d [r2+-mforty2],r5
339
340 @OC@.d [r2+three2767],r5
341 @OC@.d [r2+three2767+1],r5
342 @OC@.d [r2+three2767+2],r5
343 @OC@.d [r2+-three2767],r5
344 @OC@.d [r2+-(three2767+1)],r13
345 @OC@.d [r2+-(three2767+2)],r13
346 @OC@.d [r2-three2767],r5
347 @OC@.d [r2-(three2767+1)],r13
348 @OC@.d [r2-(three2767+2)],r13
349 @OC@.d [r2+six5535],r5
350 @OC@.d [r2+six5535+1],r13
351 @OC@.d [r2+two701867],r5
352 @OC@.d [r2+-two701867],r5
353 @OC@.d [r2-two701867],r5
354
355 @OC@.d [r2+externalsym],r5
356
357 @OC@ r1,[r2+0]
358 @OC@ r1,[r2+1]
359 @OC@ r1,[r2+127]
360 @OC@ r1,[r2+128]
361 @OC@ r1,[r2+-1]
362 @OC@ r1,[r2-1]
363 @OC@ r1,[r2+-127]
364 @OC@ r1,[r2+-128]
365 @OC@ r1,[r2-127]
366 @OC@ r1,[r2-128]
367 @OC@ r1,[r2+255]
368 @OC@ r1,[r2+-255]
369 @OC@ r1,[r2-255]
370 @OC@ r1,[r2+256]
371 @OC@ r1,[r2-256]
372 @OC@ r1,[r2-8856]
373 @OC@ r1,[r2+-256]
374 @OC@ r1,[r2+-8856]
375 @OC@ r1,[r2+8856]
376
377 @OC@ r1,[r2+2781868]
378 @OC@ r1,[r2+-2701867]
379
380 @OC@ r1,[r2+0x9ec0ceac]
381 @OC@ r1,[r2+-0x7ec0cead]
382 @OC@ r1,[r2-0x7ec0cead]
383 @OC@ r1,[r2+const_int_m32]
384 @OC@ r1,[r2+const_int_32]
385
386 @OC@ r13,[r2+42]
387 @OC@ r5,[r2-42]
388 @OC@ r5,[r2+-42]
389 @OC@ r5,[r2+forty2]
390 @OC@ r5,[r2+mforty2]
391 @OC@ r5,[r2-forty2]
392 @OC@ r5,[r2-mforty2]
393 @OC@ r5,[r2+-forty2]
394 @OC@ r5,[r2+-mforty2]
395
396 @OC@ r5,[r2+three2767]
397 @OC@ r5,[r2+three2767+1]
398 @OC@ r5,[r2+three2767+2]
399 @OC@ r5,[r2+-three2767]
400 @OC@ r13,[r2+-(three2767+1)]
401 @OC@ r13,[r2+-(three2767+2)]
402 @OC@ r5,[r2-three2767]
403 @OC@ r13,[r2-(three2767+1)]
404 @OC@ r13,[r2-(three2767+2)]
405 @OC@ r5,[r2+six5535]
406 @OC@ r13,[r2+six5535+1]
407 @OC@ r5,[r2+two701867]
408 @OC@ r5,[r2+-two701867]
409 @OC@ r5,[r2-two701867]
410
411 @OC@ r5,[r2+externalsym]
412
413;;;;;;;;;;;;;;;;;
414;
415; [r+X],r,r
416
417; [r+r.b],r,r
418
419 @OC@.b [r2+r0.b],r5,r8
420 @OC@.w [r2+r5.b],r13,r8
421 @OC@.d [r2+r10.b],r1,r8
422
423; [r+[r].b],r,r
424 @OC@.b [r2+[r0].b],r5,r8
425 @OC@.w [r2+[r5].b],r13,r8
426 @OC@.d [r2+[r10].b],r1,r8
427
428; [r+[r+].b],r,r
429 @OC@.b [r2+[r0+].b],r5,r8
430 @OC@.w [r2+[r5+].b],r13,r8
431 @OC@.d [r2+[r10+].b],r1,r8
432
433 @OC@.w [r2+[r5+].b],r13,r8
434
435 @OC@.d [r2+[r10+].b],r1,r8
436
437; [r+r.w],r,r
438
439 @OC@.b [r2+r0.w],r5,r8
440 @OC@.w [r2+r5.w],r13,r8
441 @OC@.d [r2+r10.w],r1,r8
442
443; [r+[r].w],r,r
444 @OC@.b [r2+[r0].w],r5,r8
445 @OC@.w [r2+[r5].w],r13,r8
446 @OC@.d [r2+[r10].w],r1,r8
447
448; [r+[r+].w],r,r
449 @OC@.b [r2+[r0+].w],r5,r8
450 @OC@.w [r2+[r5+].w],r13,r8
451 @OC@.d [r2+[r10+].w],r1,r8
452
453 @OC@.w [r2+[r5+].w],r13,r8
454
455 @OC@.d [r2+[r10+].w],r1,r8
456
457; [r+r.d],r,r
458
459 @OC@.b [r2+r0.d],r5,r8
460 @OC@.w [r2+r5.d],r13,r8
461 @OC@.d [r2+r10.d],r1,r8
462
463; [r+[r].d],r,r
464 @OC@.b [r2+[r0].d],r5,r8
465 @OC@.w [r2+[r5].d],r13,r8
466 @OC@.d [r2+[r10].d],r1,r8
467
468; [r+[r+].d],r,r
469 @OC@.b [r2+[r0+].d],r5,r8
470 @OC@.w [r2+[r5+].d],r13,r8
471 @OC@.d [r2+[r10+].d],r1,r8
472
473 @OC@.w [r2+[r5+].d],r13,r8
474
475 @OC@.d [r2+[r10+].d],r1,r8
476
477; [r+const],r,r
478 @OC@.b [r2+0],r5,r8
479 @OC@.b [r2+1],r5,r8
480 @OC@.b [r2+127],r5,r8
481 @OC@.b [r2+128],r5,r8
482 @OC@.b [r2+-1],r5,r8
483 @OC@.b [r2+-127],r5,r8
484 @OC@.b [r2+-128],r5,r8
485 @OC@.b [r2+255],r5,r8
486
487 @OC@.b [r2+42],r5,r8
488 @OC@.b [r2+-42],r5,r8
489 @OC@.b [r2-42],r5,r8
490 @OC@.b [r2+forty2],r5,r8
491 @OC@.b [r2+mforty2],r5,r8
492 @OC@.b [r2+-forty2],r5,r8
493 @OC@.b [r2+-mforty2],r5,r8
494 @OC@.b [r2-forty2],r5,r8
495 @OC@.b [r2-mforty2],r5,r8
496 @OC@.b [r2+externalsym],r5,r8
497
498 @OC@.w [r2+0],r13,r8
499 @OC@.w [r2+1],r13,r8
500 @OC@.w [r2+127],r13,r8
501 @OC@.w [r2+128],r13,r8
502 @OC@.w [r2+-1],r13,r8
503 @OC@.w [r2-1],r13,r8
504 @OC@.w [r2+-127],r13,r8
505 @OC@.w [r2+-128],r13,r8
506 @OC@.w [r2+-129],r13,r8
507 @OC@.w [r2-127],r13,r8
508 @OC@.w [r2-128],r13,r8
509 @OC@.w [r2-129],r13,r8
510 @OC@.w [r2+255],r13,r8
511 @OC@.w [r2+-255],r13,r8
512 @OC@.w [r2-255],r13,r8
513 @OC@.w [r2+256],r13,r8
514 @OC@.w [r2-256],r13,r8
515 @OC@.w [r2+-8856],r13,r8
516 @OC@.w [r2-8856],r13,r8
517 @OC@.w [r2+8856],r13,r8
518
519 @OC@.w [r2+42],r13,r8
520 @OC@.w [r2+-42],r13,r8
521 @OC@.w [r2-42],r13,r8
522 @OC@.w [r2+forty2],r13,r8
523 @OC@.w [r2+mforty2],r13,r8
524 @OC@.w [r2+-forty2],r5,r8
525 @OC@.w [r2-forty2],r5,r8
526 @OC@.w [r2+-mforty2],r5,r8
527
528 @OC@.w [r2+three2767],r5,r8
529 @OC@.w [r2+three2767+1],r5,r8
530 @OC@.w [r2+three2767+2],r13,r8
531 @OC@.w [r2+-three2767],r13,r8
532 @OC@.w [r2+-(three2767+1)],r13,r8
533 @OC@.w [r2+-(three2767+2)],r5,r8
534 @OC@.w [r2-three2767],r13,r8
535 @OC@.w [r2-(three2767+1)],r13,r8
536 @OC@.w [r2-(three2767+2)],r5,r8
537 @OC@.w [r2+six5535],r5,r8
538 @OC@.w [r2+externalsym],r5,r8
539
540 @OC@.d [r2+0],r1,r8
541 @OC@.d [r2+1],r1,r8
542 @OC@.d [r2+127],r1,r8
543 @OC@.d [r2+128],r1,r8
544 @OC@.d [r2+-1],r1,r8
545 @OC@.d [r2-1],r1,r8
546 @OC@.d [r2+-127],r1,r8
547 @OC@.d [r2+-128],r1,r8
548 @OC@.d [r2-127],r1,r8
549 @OC@.d [r2-128],r1,r8
550 @OC@.d [r2+255],r1,r8
551 @OC@.d [r2+-255],r1,r8
552 @OC@.d [r2-255],r1,r8
553 @OC@.d [r2+256],r1,r8
554 @OC@.d [r2-256],r1,r8
555 @OC@.d [r2-8856],r1,r8
556 @OC@.d [r2+-256],r1,r8
557 @OC@.d [r2+-8856],r1,r8
558 @OC@.d [r2+8856],r1,r8
559
560 @OC@.d [r2+2781868],r1,r8
561 @OC@.d [r2+-2701867],r1,r8
562
563 @OC@.d [r2+0x9ec0ceac],r1,r8
564 @OC@.d [r2+-0x7ec0cead],r1,r8
565 @OC@.d [r2-0x7ec0cead],r1,r8
566 @OC@.d [r2+const_int_m32],r1,r8
567 @OC@.d [r2+const_int_32],r1,r8
568
569 @OC@.d [r2+42],r13,r8
570 @OC@.d [r2-42],r5,r8
571 @OC@.d [r2+-42],r5,r8
572 @OC@.d [r2+forty2],r5,r8
573 @OC@.d [r2+mforty2],r5,r8
574 @OC@.d [r2-forty2],r5,r8
575 @OC@.d [r2-mforty2],r5,r8
576 @OC@.d [r2+-forty2],r5,r8
577 @OC@.d [r2+-mforty2],r5,r8
578
579 @OC@.d [r2+three2767],r5,r8
580 @OC@.d [r2+three2767+1],r5,r8
581 @OC@.d [r2+three2767+2],r5,r8
582 @OC@.d [r2+-three2767],r5,r8
583 @OC@.d [r2+-(three2767+1)],r13,r8
584 @OC@.d [r2+-(three2767+2)],r13,r8
585 @OC@.d [r2-three2767],r5,r8
586 @OC@.d [r2-(three2767+1)],r13,r8
587 @OC@.d [r2-(three2767+2)],r13,r8
588 @OC@.d [r2+six5535],r5,r8
589 @OC@.d [r2+six5535+1],r13,r8
590 @OC@.d [r2+two701867],r5,r8
591 @OC@.d [r2+-two701867],r5,r8
592 @OC@.d [r2-two701867],r5,r8
593
594 @OC@.d [r2+externalsym],r5,r8
595
596;;;;;;;;;;;;;;;;;
597;
598; [r=r+X],r
599
600; [r=r+r.b],r
601
602 @OC@.b [r12=r2+r0.b],r5
603 @OC@.w [r12=r2+r5.b],r13
604 @OC@.d [r12=r2+r10.b],r1
605
606 @OC@ r13,[r12=r2+r5.b]
607 @OC@ r1,[r12=r2+r10.b]
608
609; [r=r+[r].b],r
610 @OC@.b [r12=r2+[r0].b],r5
611 @OC@.w [r12=r2+[r5].b],r13
612 @OC@.d [r12=r2+[r10].b],r1
613
614 @OC@ r4,[r12=r2+[r5].b]
615 @OC@ r6,[r12=r2+[r10].b]
616
617; [r=r+[r+].b],r
618 @OC@.b [r12=r2+[r0+].b],r5
619 @OC@.w [r12=r2+[r5+].b],r13
620 @OC@.d [r12=r2+[r10+].b],r1
621
622 @OC@.w [r12=r2+[r5+].b],r13
623
624 @OC@.d [r12=r2+[r10+].b],r1
625
626 @OC@ r3,[r12=r2+[r5+].b]
627 @OC@ r2,[r12=r2+[r10+].b]
628
629; [r=r+r.w],r
630
631 @OC@.b [r12=r2+r0.w],r5
632 @OC@.w [r12=r2+r5.w],r13
633 @OC@.d [r12=r2+r10.w],r1
634
635 @OC@ r5,[r12=r2+r5.w]
636 @OC@ r8,[r12=r2+r10.w]
637
638; [r=r+[r].w],r
639 @OC@.b [r12=r2+[r0].w],r5
640 @OC@.w [r12=r2+[r5].w],r13
641 @OC@.d [r12=r2+[r10].w],r1
642
643 @OC@ r4,[r12=r2+[r5].w]
644 @OC@ r3,[r12=r2+[r10].w]
645
646; [r=r+[r+].w],r
647 @OC@.b [r12=r2+[r0+].w],r5
648 @OC@.w [r12=r2+[r5+].w],r13
649 @OC@.d [r12=r2+[r10+].w],r1
650
651 @OC@.w [r12=r2+[r5+].w],r13
652
653 @OC@.d [r12=r2+[r10+].w],r1
654
655 @OC@ r2,[r12=r2+[r5+].w]
656 @OC@ r7,[r12=r2+[r10+].w]
657
658; [r=r+r.d],r
659
660 @OC@.b [r12=r2+r0.d],r5
661 @OC@.w [r12=r2+r5.d],r13
662 @OC@.d [r12=r2+r10.d],r1
663
664 @OC@ r4,[r12=r2+r5.d]
665 @OC@ r8,[r12=r2+r10.d]
666
667; [r=r+[r].d],r
668 @OC@.b [r12=r2+[r0].d],r5
669 @OC@.w [r12=r2+[r5].d],r13
670 @OC@.d [r12=r2+[r10].d],r1
671
672 @OC@ r2,[r12=r2+[r5].d]
673 @OC@ r0,[r12=r2+[r10].d]
674
675; [r=r+[r+].d],r
676 @OC@.b [r12=r2+[r0+].d],r5
677 @OC@.w [r12=r2+[r5+].d],r13
678 @OC@.d [r12=r2+[r10+].d],r1
679
680 @OC@.w [r12=r2+[r5+].d],r13
681
682 @OC@.d [r12=r2+[r10+].d],r1
683
684 @OC@ r3,[r12=r2+[r5+].d]
685 @OC@ r2,[r12=r2+[r10+].d]
686
687; [r=r+const],r
688 @OC@.b [r12=r2+0],r5
689 @OC@.b [r12=r2+1],r5
690 @OC@.b [r12=r2+127],r5
691 @OC@.b [r12=r2+128],r5
692 @OC@.b [r12=r2+-1],r5
693 @OC@.b [r12=r2+-127],r5
694 @OC@.b [r12=r2+-128],r5
695 @OC@.b [r12=r2+255],r5
696
697 @OC@.b [r12=r2+42],r5
698 @OC@.b [r12=r2+-42],r5
699 @OC@.b [r12=r2-42],r5
700 @OC@.b [r12=r2+forty2],r5
701 @OC@.b [r12=r2+mforty2],r5
702 @OC@.b [r12=r2+-forty2],r5
703 @OC@.b [r12=r2+-mforty2],r5
704 @OC@.b [r12=r2-forty2],r5
705 @OC@.b [r12=r2-mforty2],r5
706 @OC@.b [r12=r2+externalsym],r5
707
708 @OC@.w [r12=r2+0],r13
709 @OC@.w [r12=r2+1],r13
710 @OC@.w [r12=r2+127],r13
711 @OC@.w [r12=r2+128],r13
712 @OC@.w [r12=r2+-1],r13
713 @OC@.w [r12=r2-1],r13
714 @OC@.w [r12=r2+-127],r13
715 @OC@.w [r12=r2+-128],r13
716 @OC@.w [r12=r2+-129],r13
717 @OC@.w [r12=r2-127],r13
718 @OC@.w [r12=r2-128],r13
719 @OC@.w [r12=r2-129],r13
720 @OC@.w [r12=r2+255],r13
721 @OC@.w [r12=r2+-255],r13
722 @OC@.w [r12=r2-255],r13
723 @OC@.w [r12=r2+256],r13
724 @OC@.w [r12=r2-256],r13
725 @OC@.w [r12=r2+-8856],r13
726 @OC@.w [r12=r2-8856],r13
727 @OC@.w [r12=r2+8856],r13
728
729 @OC@.w [r12=r2+42],r13
730 @OC@.w [r12=r2+-42],r13
731 @OC@.w [r12=r2-42],r13
732 @OC@.w [r12=r2+forty2],r13
733 @OC@.w [r12=r2+mforty2],r13
734 @OC@.w [r12=r2+-forty2],r5
735 @OC@.w [r12=r2-forty2],r5
736 @OC@.w [r12=r2+-mforty2],r5
737
738 @OC@.w [r12=r2+three2767],r5
739 @OC@.w [r12=r2+three2767+1],r5
740 @OC@.w [r12=r2+three2767+2],r13
741 @OC@.w [r12=r2+-three2767],r13
742 @OC@.w [r12=r2+-(three2767+1)],r13
743 @OC@.w [r12=r2+-(three2767+2)],r5
744 @OC@.w [r12=r2-three2767],r13
745 @OC@.w [r12=r2-(three2767+1)],r13
746 @OC@.w [r12=r2-(three2767+2)],r5
747 @OC@.w [r12=r2+six5535],r5
748 @OC@.w [r12=r2+externalsym],r5
749
750 @OC@.d [r12=r2+0],r1
751 @OC@.d [r12=r2+1],r1
752 @OC@.d [r12=r2+127],r1
753 @OC@.d [r12=r2+128],r1
754 @OC@.d [r12=r2+-1],r1
755 @OC@.d [r12=r2-1],r1
756 @OC@.d [r12=r2+-127],r1
757 @OC@.d [r12=r2+-128],r1
758 @OC@.d [r12=r2-127],r1
759 @OC@.d [r12=r2-128],r1
760 @OC@.d [r12=r2+255],r1
761 @OC@.d [r12=r2+-255],r1
762 @OC@.d [r12=r2-255],r1
763 @OC@.d [r12=r2+256],r1
764 @OC@.d [r12=r2-256],r1
765 @OC@.d [r12=r2-8856],r1
766 @OC@.d [r12=r2+-256],r1
767 @OC@.d [r12=r2+-8856],r1
768 @OC@.d [r12=r2+8856],r1
769
770 @OC@.d [r12=r2+2781868],r1
771 @OC@.d [r12=r2+-2701867],r1
772
773 @OC@.d [r12=r2+0x9ec0ceac],r1
774 @OC@.d [r12=r2+-0x7ec0cead],r1
775 @OC@.d [r12=r2-0x7ec0cead],r1
776 @OC@.d [r12=r2+const_int_m32],r1
777 @OC@.d [r12=r2+const_int_32],r1
778
779 @OC@.d [r12=r2+42],r13
780 @OC@.d [r12=r2-42],r5
781 @OC@.d [r12=r2+-42],r5
782 @OC@.d [r12=r2+forty2],r5
783 @OC@.d [r12=r2+mforty2],r5
784 @OC@.d [r12=r2-forty2],r5
785 @OC@.d [r12=r2-mforty2],r5
786 @OC@.d [r12=r2+-forty2],r5
787 @OC@.d [r12=r2+-mforty2],r5
788
789 @OC@.d [r12=r2+three2767],r5
790 @OC@.d [r12=r2+three2767+1],r5
791 @OC@.d [r12=r2+three2767+2],r5
792 @OC@.d [r12=r2+-three2767],r5
793 @OC@.d [r12=r2+-(three2767+1)],r13
794 @OC@.d [r12=r2+-(three2767+2)],r13
795 @OC@.d [r12=r2-three2767],r5
796 @OC@.d [r12=r2-(three2767+1)],r13
797 @OC@.d [r12=r2-(three2767+2)],r13
798 @OC@.d [r12=r2+six5535],r5
799 @OC@.d [r12=r2+six5535+1],r13
800 @OC@.d [r12=r2+two701867],r5
801 @OC@.d [r12=r2+-two701867],r5
802 @OC@.d [r12=r2-two701867],r5
803
804 @OC@.d [r12=r2+externalsym],r5
805
806 @OC@ r1,[r12=r2+0]
807 @OC@ r1,[r12=r2+1]
808 @OC@ r1,[r12=r2+127]
809 @OC@ r1,[r12=r2+128]
810 @OC@ r1,[r12=r2+-1]
811 @OC@ r1,[r12=r2-1]
812 @OC@ r1,[r12=r2+-127]
813 @OC@ r1,[r12=r2+-128]
814 @OC@ r1,[r12=r2-127]
815 @OC@ r1,[r12=r2-128]
816 @OC@ r1,[r12=r2+255]
817 @OC@ r1,[r12=r2+-255]
818 @OC@ r1,[r12=r2-255]
819 @OC@ r1,[r12=r2+256]
820 @OC@ r1,[r12=r2-256]
821 @OC@ r1,[r12=r2-8856]
822 @OC@ r1,[r12=r2+-256]
823 @OC@ r1,[r12=r2+-8856]
824 @OC@ r1,[r12=r2+8856]
825
826 @OC@ r1,[r12=r2+2781868]
827 @OC@ r1,[r12=r2+-2701867]
828
829 @OC@ r1,[r12=r2+0x9ec0ceac]
830 @OC@ r1,[r12=r2+-0x7ec0cead]
831 @OC@ r1,[r12=r2-0x7ec0cead]
832 @OC@ r1,[r12=r2+const_int_m32]
833 @OC@ r1,[r12=r2+const_int_32]
834
835 @OC@ r13,[r12=r2+42]
836 @OC@ r5,[r12=r2-42]
837 @OC@ r5,[r12=r2+-42]
838 @OC@ r5,[r12=r2+forty2]
839 @OC@ r5,[r12=r2+mforty2]
840 @OC@ r5,[r12=r2-forty2]
841 @OC@ r5,[r12=r2-mforty2]
842 @OC@ r5,[r12=r2+-forty2]
843 @OC@ r5,[r12=r2+-mforty2]
844
845 @OC@ r5,[r12=r2+three2767]
846 @OC@ r5,[r12=r2+three2767+1]
847 @OC@ r5,[r12=r2+three2767+2]
848 @OC@ r5,[r12=r2+-three2767]
849 @OC@ r13,[r12=r2+-(three2767+1)]
850 @OC@ r13,[r12=r2+-(three2767+2)]
851 @OC@ r5,[r12=r2-three2767]
852 @OC@ r13,[r12=r2-(three2767+1)]
853 @OC@ r13,[r12=r2-(three2767+2)]
854 @OC@ r5,[r12=r2+six5535]
855 @OC@ r13,[r12=r2+six5535+1]
856 @OC@ r5,[r12=r2+two701867]
857 @OC@ r5,[r12=r2+-two701867]
858 @OC@ r5,[r12=r2-two701867]
859
860 @OC@ r5,[r12=r2+externalsym]
861
862;;;;;;;;;;;;;;;;;;;
863;
864; [[r(+)]],r
865
866 @OC@.b [[r3]],r5
867 @OC@.w [[r2]],r4
868 @OC@.d [[r3]],r7
869
870 @OC@ r4,[[r2]]
871 @OC@ r7,[[r3]]
872
873 @OC@.b [[r9+]],r7
874 @OC@.w [[r3+]],r5
875 @OC@.d [[r1+]],r6
876
877 @OC@ r5,[[r3+]]
878 @OC@ r6,[[r1+]]
879
880 @OC@.b [externalsym],r5
881 @OC@.w [externalsym],r4
882 @OC@.d [externalsym],r7
883
884 @OC@ r4,[externalsym]
885 @OC@ r7,[externalsym]
886
887 @OC@.b [notstart],r5
888 @OC@.w [notstart],r4
889 @OC@.d [notstart],r7
890
891 @OC@ r3,[notstart]
892 @OC@ r7,[notstart]
893
894;;;;;;;;;;;;;;;;;;;
895;
896; [[r(+)]],r,r
897
898 @OC@.b [[r3]],r5,r12
899 @OC@.w [[r2]],r4,r9
900 @OC@.d [[r3]],r7,r9
901
902 @OC@.b [[r9+]],r7,r10
903 @OC@.w [[r3+]],r5,r9
904 @OC@.d [[r1+]],r6,r9
905
906 @OC@.b [externalsym],r5,r7
907 @OC@.w [externalsym],r4,r9
908 @OC@.d [externalsym],r7,r9
909
910 @OC@.b [notstart],r5,r9
911 @OC@.w [notstart],r4,r12
912 @OC@.d [notstart],r7,r9
913
914end:
915