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