Upload Tizen:Base source
[external/binutils.git] / gas / testsuite / gas / cris / unop.s
1 ; @OC@ test
2 ; Generic unary 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
21 notstart:
22  .dword 0
23
24 start:
25
26 ;;;;;;;;;;;;;;;;;
27 ;
28 ; r
29  @OC@.b r3
30  @OC@.w r5
31  @OC@.d r10
32
33  @OC@ r7
34  @OC@ r6
35
36 ;;;;;;;;;;;;;;;;;
37 ;
38 ; [r]
39  @OC@.b [r0]
40  @OC@.w [r5]
41  @OC@.d [r10]
42
43  @OC@ [r0]
44  @OC@ [r3]
45
46 ;;;;;;;;;;;;;;;;;
47 ;
48 ; [r+]
49  @OC@.b [r0+]
50  @OC@.w [r5+]
51  @OC@.d [r10+]
52
53  @OC@ [r4+]
54  @OC@ [r1+]
55
56 ;;;;;;;;;;;;;;;;;
57 ;
58 ; [r+X]
59
60 ; [r+r.b]
61
62  @OC@.b [r2+r0.b]
63  @OC@.w [r2+r5.b]
64  @OC@.d [r2+r10.b]
65
66  @OC@ [r11+r13.b]
67  @OC@ [r2+r10.b]
68
69 ; [r+[r].b]
70  @OC@.b [r2+[r0].b]
71  @OC@.w [r2+[r5].b]
72  @OC@.d [r2+[r10].b]
73
74  @OC@ [r12+[r5].b]
75  @OC@ [r13+[r10].b]
76
77 ; [r+[r+].b]
78  @OC@.b [r2+[r0+].b]
79  @OC@.w [r2+[r5+].b]
80  @OC@.d [r2+[r10+].b]
81
82  @OC@ [r2+[r13+].b]
83  @OC@ [r12+[r0+].b]
84
85 ; [r+r.w]
86
87  @OC@.b [r2+r0.w]
88  @OC@.w [r2+r5.w]
89  @OC@.d [r2+r10.w]
90
91  @OC@ [r5+r11.w]
92  @OC@ [r1+r1.w]
93
94 ; [r+[r].w]
95  @OC@.b [r2+[r0].w]
96  @OC@.w [r2+[r5].w]
97  @OC@.d [r2+[r10].w]
98
99  @OC@ [r0+[r0].w]
100  @OC@ [r2+[r7].w]
101
102 ; [r+[r+].w]
103  @OC@.b [r2+[r0+].w]
104  @OC@.w [r2+[r5+].w]
105  @OC@.d [r2+[r10+].w]
106
107  @OC@ [r2+[r3+].w]
108  @OC@ [r7+[r8+].w]
109
110 ; [r+r.d]
111
112  @OC@.b [r2+r0.d]
113  @OC@.w [r2+r5.d]
114  @OC@.d [r2+r10.d]
115
116  @OC@ [r2+r5.d]
117  @OC@ [r3+r10.d]
118
119 ; [r+[r].d]
120  @OC@.b [r2+[r0].d]
121  @OC@.w [r2+[r5].d]
122  @OC@.d [r2+[r10].d]
123
124  @OC@ [r5+[r2].d]
125  @OC@ [r12+[r10].d]
126
127 ; [r+[r+].d]
128  @OC@.b [r2+[r0+].d]
129  @OC@.w [r2+[r5+].d]
130  @OC@.d [r2+[r10+].d]
131
132  @OC@ [r1+[r5+].d]
133  @OC@ [r2+[r10+].d]
134
135 ; [r+const]
136
137 ; Note that I forgot 16-bit offsets and 32-bit offsets here and later.
138 ; Maybe add them later if it feels necessary.
139
140  @OC@.b [r2+0]
141  @OC@.b [r2+1]
142  @OC@.b [r2+127]
143  @OC@.b [r2+128]
144  @OC@.b [r2+-1]
145  @OC@.b [r2+-127]
146  @OC@.b [r2+-128]
147  @OC@.b [r2+255]
148
149  @OC@.b [r2+42]
150  @OC@.b [r2+-42]
151  @OC@.b [r2-42]
152  @OC@.b [r2+forty2]
153  @OC@.b [r2+mforty2]
154  @OC@.b [r2+-forty2]
155  @OC@.b [r2+-mforty2]
156  @OC@.b [r2-forty2]
157  @OC@.b [r2-mforty2]
158  @OC@.b [r2+externalsym]
159
160 ; Note that I missed 32-bit offsets (except -32769) here and later.
161 ; Maybe add them later if it feels necessary.
162
163  @OC@.w [r2+0]
164  @OC@.w [r2+1]
165  @OC@.w [r2+127]
166  @OC@.w [r2+128]
167  @OC@.w [r2+-1]
168  @OC@.w [r2-1]
169  @OC@.w [r2+-127]
170  @OC@.w [r2+-128]
171  @OC@.w [r2+-129]
172  @OC@.w [r2-127]
173  @OC@.w [r2-128]
174  @OC@.w [r2-129]
175  @OC@.w [r2+255]
176  @OC@.w [r2+-255]
177  @OC@.w [r2-255]
178  @OC@.w [r2+256]
179  @OC@.w [r2-256]
180  @OC@.w [r2+-8856]
181  @OC@.w [r2-8856]
182  @OC@.w [r2+8856]
183
184  @OC@.w [r2+42]
185  @OC@.w [r2+-42]
186  @OC@.w [r2-42]
187  @OC@.w [r2+forty2]
188  @OC@.w [r2+mforty2]
189  @OC@.w [r2+-forty2]
190  @OC@.w [r2-forty2]
191  @OC@.w [r2+-mforty2]
192
193  @OC@.w [r2+three2767]
194  @OC@.w [r2+three2767+1]
195  @OC@.w [r2+three2767+2]
196  @OC@.w [r2+-three2767]
197  @OC@.w [r2+-(three2767+1)]
198  @OC@.w [r2+-(three2767+2)]
199  @OC@.w [r2-three2767]
200  @OC@.w [r2-(three2767+1)]
201  @OC@.w [r2-(three2767+2)]
202  @OC@.w [r2+six5535]
203  @OC@.w [r2+externalsym]
204
205  @OC@.d [r2+0]
206  @OC@.d [r2+1]
207  @OC@.d [r2+127]
208  @OC@.d [r2+128]
209  @OC@.d [r2+-1]
210  @OC@.d [r2-1]
211  @OC@.d [r2+-127]
212  @OC@.d [r2+-128]
213  @OC@.d [r2-127]
214  @OC@.d [r2-128]
215  @OC@.d [r2+255]
216  @OC@.d [r2+-255]
217  @OC@.d [r2-255]
218  @OC@.d [r2+256]
219  @OC@.d [r2-256]
220  @OC@.d [r2-8856]
221  @OC@.d [r2+-256]
222  @OC@.d [r2+-8856]
223  @OC@.d [r2+8856]
224
225  @OC@.d [r2+2781868]
226  @OC@.d [r2+-2701867]
227
228  @OC@.d [r2+0x9ec0ceac]
229  @OC@.d [r2+-0x7ec0cead]
230  @OC@.d [r2-0x7ec0cead]
231  @OC@.d [r2+const_int_m32]
232  @OC@.d [r2+const_int_32]
233
234  @OC@.d [r2+42]
235  @OC@.d [r2-42]
236  @OC@.d [r2+-42]
237  @OC@.d [r2+forty2]
238  @OC@.d [r2+mforty2]
239  @OC@.d [r2-forty2]
240  @OC@.d [r2-mforty2]
241  @OC@.d [r2+-forty2]
242  @OC@.d [r2+-mforty2]
243
244  @OC@.d [r2+three2767]
245  @OC@.d [r2+three2767+1]
246  @OC@.d [r2+three2767+2]
247  @OC@.d [r2+-three2767]
248  @OC@.d [r2+-(three2767+1)]
249  @OC@.d [r2+-(three2767+2)]
250  @OC@.d [r2-three2767]
251  @OC@.d [r2-(three2767+1)]
252  @OC@.d [r2-(three2767+2)]
253  @OC@.d [r2+six5535]
254  @OC@.d [r2+six5535+1]
255  @OC@.d [r2+two701867]
256  @OC@.d [r2+-two701867]
257  @OC@.d [r2-two701867]
258
259  @OC@.d [r2+externalsym]
260
261  @OC@ [r2+0]
262  @OC@ [r2+1]
263  @OC@ [r2+127]
264  @OC@ [r2+128]
265  @OC@ [r2+-1]
266  @OC@ [r2-1]
267  @OC@ [r2+-127]
268  @OC@ [r2+-128]
269  @OC@ [r2-127]
270  @OC@ [r2-128]
271  @OC@ [r2+255]
272  @OC@ [r2+-255]
273  @OC@ [r2-255]
274  @OC@ [r2+256]
275  @OC@ [r2-256]
276  @OC@ [r2-8856]
277  @OC@ [r2+-256]
278  @OC@ [r2+-8856]
279  @OC@ [r2+8856]
280
281  @OC@ [r2+2781868]
282  @OC@ [r2+-2701867]
283
284  @OC@ [r2+0x9ec0ceac]
285  @OC@ [r2+-0x7ec0cead]
286  @OC@ [r2-0x7ec0cead]
287  @OC@ [r2+const_int_m32]
288  @OC@ [r2+const_int_32]
289
290  @OC@ [r2+42]
291  @OC@ [r2-42]
292  @OC@ [r2+-42]
293  @OC@ [r2+forty2]
294  @OC@ [r2+mforty2]
295  @OC@ [r2-forty2]
296  @OC@ [r2-mforty2]
297  @OC@ [r2+-forty2]
298  @OC@ [r2+-mforty2]
299
300  @OC@ [r2+three2767]
301  @OC@ [r2+three2767+1]
302  @OC@ [r2+three2767+2]
303  @OC@ [r2+-three2767]
304  @OC@ [r2+-(three2767+1)]
305  @OC@ [r2+-(three2767+2)]
306  @OC@ [r2-three2767]
307  @OC@ [r2-(three2767+1)]
308  @OC@ [r2-(three2767+2)]
309  @OC@ [r2+six5535]
310  @OC@ [r2+six5535+1]
311  @OC@ [r2+two701867]
312  @OC@ [r2+-two701867]
313  @OC@ [r2-two701867]
314
315  @OC@ [r2+externalsym]
316
317  @OC@ [r2+0]
318  @OC@ [r2+1]
319  @OC@ [r2+127]
320  @OC@ [r2+128]
321  @OC@ [r2+-1]
322  @OC@ [r2-1]
323  @OC@ [r2+-127]
324  @OC@ [r2+-128]
325  @OC@ [r2-127]
326  @OC@ [r2-128]
327  @OC@ [r2+255]
328  @OC@ [r2+-255]
329  @OC@ [r2-255]
330  @OC@ [r2+256]
331  @OC@ [r2-256]
332  @OC@ [r2-8856]
333  @OC@ [r2+-256]
334  @OC@ [r2+-8856]
335  @OC@ [r2+8856]
336
337  @OC@ [r2+2781868]
338  @OC@ [r2+-2701867]
339
340  @OC@ [r2+0x9ec0ceac]
341  @OC@ [r2+-0x7ec0cead]
342  @OC@ [r2-0x7ec0cead]
343  @OC@ [r2+const_int_m32]
344  @OC@ [r2+const_int_32]
345
346  @OC@ [r2+42]
347  @OC@ [r2-42]
348  @OC@ [r2+-42]
349  @OC@ [r2+forty2]
350  @OC@ [r2+mforty2]
351  @OC@ [r2-forty2]
352  @OC@ [r2-mforty2]
353  @OC@ [r2+-forty2]
354  @OC@ [r2+-mforty2]
355
356  @OC@ [r2+three2767]
357  @OC@ [r2+three2767+1]
358  @OC@ [r2+three2767+2]
359  @OC@ [r2+-three2767]
360  @OC@ [r2+-(three2767+1)]
361  @OC@ [r2+-(three2767+2)]
362  @OC@ [r2-three2767]
363  @OC@ [r2-(three2767+1)]
364  @OC@ [r2-(three2767+2)]
365  @OC@ [r2+six5535]
366  @OC@ [r2+six5535+1]
367  @OC@ [r2+two701867]
368  @OC@ [r2+-two701867]
369  @OC@ [r2-two701867]
370
371  @OC@ [r2+externalsym]
372
373 ;;;;;;;;;;;;;;;;;
374 ;
375 ; [r=r+X],r
376
377 ; [r=r+r.b],r
378
379  @OC@.b [r12=r2+r0.b]
380  @OC@.w [r12=r2+r5.b]
381  @OC@.d [r12=r2+r10.b]
382
383  @OC@ [r1=r2+r3.b]
384  @OC@ [r12=r2+r10.b]
385
386 ; [r=r+[r].b],r
387  @OC@.b [r12=r2+[r0].b]
388  @OC@.w [r12=r2+[r5].b]
389  @OC@.d [r12=r2+[r10].b]
390
391  @OC@ [r0=r2+[r5].b]
392  @OC@ [r3=r2+[r10].b]
393
394 ; [r=r+[r+].b],r
395  @OC@.b [r12=r2+[r0+].b]
396  @OC@.w [r12=r2+[r5+].b]
397  @OC@.d [r12=r2+[r10+].b]
398
399  @OC@.w [r12=r2+[r5+].b]
400
401  @OC@.d [r12=r2+[r10+].b]
402
403  @OC@ [r5=r2+[r4+].b]
404  @OC@ [r2=r4+[r7+].b]
405
406 ; [r=r+r.w],r
407
408  @OC@.b [r12=r2+r0.w]
409  @OC@.w [r12=r2+r5.w]
410  @OC@.d [r12=r2+r10.w]
411
412  @OC@ [r12=r12+r5.w]
413  @OC@ [r1=r3+r10.w]
414
415 ; [r=r+[r].w],r
416  @OC@.b [r12=r2+[r0].w]
417  @OC@.w [r12=r2+[r5].w]
418  @OC@.d [r12=r2+[r10].w]
419
420  @OC@ [r12=r2+[r5].w]
421  @OC@ [r12=r7+[r10].w]
422
423 ; [r=r+[r+].w],r
424  @OC@.b [r12=r2+[r0+].w]
425  @OC@.w [r12=r2+[r5+].w]
426  @OC@.d [r12=r2+[r10+].w]
427
428  @OC@.w [r12=r2+[r5+].w]
429
430  @OC@.d [r12=r2+[r10+].w]
431
432  @OC@ [r12=r6+[r7+].w]
433  @OC@ [r12=r3+[r1+].w]
434
435 ; [r=r+r.d],r
436
437  @OC@.b [r12=r2+r0.d]
438  @OC@.w [r12=r2+r5.d]
439  @OC@.d [r12=r2+r10.d]
440
441  @OC@ [r4=r2+r5.d]
442  @OC@ [r12=r2+r10.d]
443
444 ; [r=r+[r].d],r
445  @OC@.b [r12=r2+[r0].d]
446  @OC@.w [r12=r2+[r5].d]
447  @OC@.d [r12=r2+[r10].d]
448
449  @OC@ [r12=r3+[r5].d]
450  @OC@ [r12=r4+[r10].d]
451
452 ; [r=r+[r+].d],r
453  @OC@.b [r12=r2+[r0+].d]
454  @OC@.w [r12=r2+[r5+].d]
455  @OC@.d [r12=r2+[r10+].d]
456
457  @OC@.w [r12=r2+[r5+].d]
458
459  @OC@.d [r12=r2+[r10+].d]
460
461  @OC@ [r12=r8+[r5+].d]
462  @OC@ [r12=r9+[r10+].d]
463
464 ; [r=r+const],r
465  @OC@.b [r12=r2+0]
466  @OC@.b [r12=r2+1]
467  @OC@.b [r12=r2+127]
468  @OC@.b [r12=r2+128]
469  @OC@.b [r12=r2+-1]
470  @OC@.b [r12=r2+-127]
471  @OC@.b [r12=r2+-128]
472  @OC@.b [r12=r2+255]
473
474  @OC@.b [r12=r2+42]
475  @OC@.b [r12=r2+-42]
476  @OC@.b [r12=r2-42]
477  @OC@.b [r12=r2+forty2]
478  @OC@.b [r12=r2+mforty2]
479  @OC@.b [r12=r2+-forty2]
480  @OC@.b [r12=r2+-mforty2]
481  @OC@.b [r12=r2-forty2]
482  @OC@.b [r12=r2-mforty2]
483  @OC@.b [r12=r2+externalsym]
484
485  @OC@.w [r12=r2+0]
486  @OC@.w [r12=r2+1]
487  @OC@.w [r12=r2+127]
488  @OC@.w [r12=r2+128]
489  @OC@.w [r12=r2+-1]
490  @OC@.w [r12=r2-1]
491  @OC@.w [r12=r2+-127]
492  @OC@.w [r12=r2+-128]
493  @OC@.w [r12=r2+-129]
494  @OC@.w [r12=r2-127]
495  @OC@.w [r12=r2-128]
496  @OC@.w [r12=r2-129]
497  @OC@.w [r12=r2+255]
498  @OC@.w [r12=r2+-255]
499  @OC@.w [r12=r2-255]
500  @OC@.w [r12=r2+256]
501  @OC@.w [r12=r2-256]
502  @OC@.w [r12=r2+-8856]
503  @OC@.w [r12=r2-8856]
504  @OC@.w [r12=r2+8856]
505
506  @OC@.w [r12=r2+42]
507  @OC@.w [r12=r2+-42]
508  @OC@.w [r12=r2-42]
509  @OC@.w [r12=r2+forty2]
510  @OC@.w [r12=r2+mforty2]
511  @OC@.w [r12=r2+-forty2]
512  @OC@.w [r12=r2-forty2]
513  @OC@.w [r12=r2+-mforty2]
514
515  @OC@.w [r12=r2+three2767]
516  @OC@.w [r12=r2+three2767+1]
517  @OC@.w [r12=r2+three2767+2]
518  @OC@.w [r12=r2+-three2767]
519  @OC@.w [r12=r2+-(three2767+1)]
520  @OC@.w [r12=r2+-(three2767+2)]
521  @OC@.w [r12=r2-three2767]
522  @OC@.w [r12=r2-(three2767+1)]
523  @OC@.w [r12=r2-(three2767+2)]
524  @OC@.w [r12=r2+six5535]
525  @OC@.w [r12=r2+externalsym]
526
527  @OC@.d [r12=r2+0]
528  @OC@.d [r12=r2+1]
529  @OC@.d [r12=r2+127]
530  @OC@.d [r12=r2+128]
531  @OC@.d [r12=r2+-1]
532  @OC@.d [r12=r2-1]
533  @OC@.d [r12=r2+-127]
534  @OC@.d [r12=r2+-128]
535  @OC@.d [r12=r2-127]
536  @OC@.d [r12=r2-128]
537  @OC@.d [r12=r2+255]
538  @OC@.d [r12=r2+-255]
539  @OC@.d [r12=r2-255]
540  @OC@.d [r12=r2+256]
541  @OC@.d [r12=r2-256]
542  @OC@.d [r12=r2-8856]
543  @OC@.d [r12=r2+-256]
544  @OC@.d [r12=r2+-8856]
545  @OC@.d [r12=r2+8856]
546
547  @OC@.d [r12=r2+2781868]
548  @OC@.d [r12=r2+-2701867]
549
550  @OC@.d [r12=r2+0x9ec0ceac]
551  @OC@.d [r12=r2+-0x7ec0cead]
552  @OC@.d [r12=r2-0x7ec0cead]
553  @OC@.d [r12=r2+const_int_m32]
554  @OC@.d [r12=r2+const_int_32]
555
556  @OC@.d [r12=r2+42]
557  @OC@.d [r12=r2-42]
558  @OC@.d [r12=r2+-42]
559  @OC@.d [r12=r2+forty2]
560  @OC@.d [r12=r2+mforty2]
561  @OC@.d [r12=r2-forty2]
562  @OC@.d [r12=r2-mforty2]
563  @OC@.d [r12=r2+-forty2]
564  @OC@.d [r12=r2+-mforty2]
565
566  @OC@.d [r12=r2+three2767]
567  @OC@.d [r12=r2+three2767+1]
568  @OC@.d [r12=r2+three2767+2]
569  @OC@.d [r12=r2+-three2767]
570  @OC@.d [r12=r2+-(three2767+1)]
571  @OC@.d [r12=r2+-(three2767+2)]
572  @OC@.d [r12=r2-three2767]
573  @OC@.d [r12=r2-(three2767+1)]
574  @OC@.d [r12=r2-(three2767+2)]
575  @OC@.d [r12=r2+six5535]
576  @OC@.d [r12=r2+six5535+1]
577  @OC@.d [r12=r2+two701867]
578  @OC@.d [r12=r2+-two701867]
579  @OC@.d [r12=r2-two701867]
580
581  @OC@.d [r12=r2+externalsym]
582
583  @OC@ [r12=r2+0]
584  @OC@ [r12=r2+1]
585  @OC@ [r12=r2+127]
586  @OC@ [r12=r2+128]
587  @OC@ [r12=r2+-1]
588  @OC@ [r12=r2-1]
589  @OC@ [r12=r2+-127]
590  @OC@ [r12=r2+-128]
591  @OC@ [r12=r2-127]
592  @OC@ [r12=r2-128]
593  @OC@ [r12=r2+255]
594  @OC@ [r12=r2+-255]
595  @OC@ [r12=r2-255]
596  @OC@ [r12=r2+256]
597  @OC@ [r12=r2-256]
598  @OC@ [r12=r2-8856]
599  @OC@ [r12=r2+-256]
600  @OC@ [r12=r2+-8856]
601  @OC@ [r12=r2+8856]
602
603  @OC@ [r12=r2+2781868]
604  @OC@ [r12=r2+-2701867]
605
606  @OC@ [r12=r2+0x9ec0ceac]
607  @OC@ [r12=r2+-0x7ec0cead]
608  @OC@ [r12=r2-0x7ec0cead]
609  @OC@ [r12=r2+const_int_m32]
610  @OC@ [r12=r2+const_int_32]
611
612  @OC@ [r12=r2+42]
613  @OC@ [r12=r2-42]
614  @OC@ [r12=r2+-42]
615  @OC@ [r12=r2+forty2]
616  @OC@ [r12=r2+mforty2]
617  @OC@ [r12=r2-forty2]
618  @OC@ [r12=r2-mforty2]
619  @OC@ [r12=r2+-forty2]
620  @OC@ [r12=r2+-mforty2]
621
622  @OC@ [r12=r2+three2767]
623  @OC@ [r12=r2+three2767+1]
624  @OC@ [r12=r2+three2767+2]
625  @OC@ [r12=r2+-three2767]
626  @OC@ [r12=r2+-(three2767+1)]
627  @OC@ [r12=r2+-(three2767+2)]
628  @OC@ [r12=r2-three2767]
629  @OC@ [r12=r2-(three2767+1)]
630  @OC@ [r12=r2-(three2767+2)]
631  @OC@ [r12=r2+six5535]
632  @OC@ [r12=r2+six5535+1]
633  @OC@ [r12=r2+two701867]
634  @OC@ [r12=r2+-two701867]
635  @OC@ [r12=r2-two701867]
636
637  @OC@ [r12=r2+externalsym]
638
639 ;;;;;;;;;;;;;;;;;;;
640 ;
641 ; [[r(+)]],r
642
643  @OC@.b [[r3]]
644  @OC@.w [[r2]]
645  @OC@.d [[r3]]
646
647  @OC@ [[r2]]
648  @OC@ [[r3]]
649
650  @OC@.b [[r9+]]
651  @OC@.w [[r3+]]
652  @OC@.d [[r1+]]
653
654  @OC@ [[r3+]]
655  @OC@ [[r1+]]
656
657  @OC@.b [externalsym]
658  @OC@.w [externalsym]
659  @OC@.d [externalsym]
660
661  @OC@ [externalsym]
662
663  @OC@.b [notstart]
664  @OC@.w [notstart]
665  @OC@.d [notstart]
666
667  @OC@ [notstart]
668
669 end: