Upload Tizen:Base source
[external/binutils.git] / gas / testsuite / gas / cris / pushpop.s
1 ; Check the push and pop builtin "macros".
2  .text
3  .syntax no_register_prefix
4 start:
5  push r1
6  push r0
7  push r4
8  ; Check that there is no recognition of invalid offsets.
9  move.b r5,[sp=sp-8]
10  move.w r5,[sp=sp-8]
11  move.d r5,[sp=sp-8]
12
13  move.b r5,[sp=sp-5]
14  move.w r5,[sp=sp-5]
15  move.d r5,[sp=sp-5]
16
17  move.w r5,[sp=sp-4]
18  move.b r3,[sp=sp-4]
19
20  move.d r5,[sp=sp-3]
21  move.w r11,[sp=sp-3]
22  move.b r5,[sp=sp-3]
23
24  move.d r5,[sp=sp-2]
25  move.b r5,[sp=sp-2]
26
27  move.d r5,[sp=sp-1]
28  move.w r5,[sp=sp-1]
29
30  move.d r5,[sp=sp+0]
31  move.b r5,[sp=sp+0]
32  move.w r5,[sp=sp+0]
33
34  move.d r5,[sp=sp+1]
35  move.w r5,[sp=sp+1]
36  move.b r5,[sp=sp+1]
37
38  move.d r5,[sp=sp+2]
39  move.w r5,[sp=sp+2]
40  move.b r5,[sp=sp+2]
41
42  move.d r5,[sp=sp+3]
43  move.w r5,[sp=sp+3]
44  move.b r5,[sp=sp+3]
45
46  move.d r5,[sp=sp+4]
47  move.w r5,[sp=sp+4]
48  move.b r5,[sp=sp+4]
49
50  move.d r5,[sp=sp+5]
51  move.w r5,[sp=sp+5]
52  move.b r5,[sp=sp+5]
53
54  move.d r1,[sp=sp+8]
55  move.w r9,[sp=sp+8]
56  move.b r13,[sp=sp+8]
57
58 ;
59 ; All these will have postincrement on the "real" instruction
60 ; (e.g. "move.d [sp+],r6") which is the actual insn recognized as
61 ; pop; it is *not* e.g. "move.d [sp=sp+4],r6".
62 ;  Here we make sure that neither the combination nor the second
63 ; is interpreted as a pop.
64 ;
65  move.b [sp=sp+8],r5
66  move.w [sp=sp+8],r5
67  move.d [sp=sp+8],r5
68
69  move.b [sp=sp+5],r5
70  move.w [sp=sp+5],r5
71  move.d [sp=sp+5],r5
72
73  move.d [sp=sp+4],r5
74  move.w [sp=sp+4],r5
75  move.b [sp=sp+4],r3
76
77  move.d [sp=sp+3],r5
78  move.w [sp=sp+3],r11
79  move.b [sp=sp+3],r5
80
81  move.d [sp=sp+2],r5
82  move.w [sp=sp+2],r5
83  move.b [sp=sp+2],r5
84
85  move.d [sp=sp+1],r5
86  move.w [sp=sp+1],r5
87  move.b [sp=sp+1],r5
88
89  move.d [sp=sp-0],r5
90  move.w [sp=sp-0],r5
91  move.b [sp=sp-0],r5
92
93  move.d [sp=sp-1],r5
94  move.w [sp=sp-1],r5
95  move.b [sp=sp-1],r5
96
97  move.d [sp=sp-2],r5
98  move.w [sp=sp-2],r5
99  move.b [sp=sp-2],r5
100
101  move.d [sp=sp-3],r5
102  move.w [sp=sp-3],r5
103  move.b [sp=sp-3],r5
104
105  move.d [sp=sp-4],r5
106  move.w [sp=sp-4],r5
107  move.b [sp=sp-4],r5
108
109  move.d [sp=sp-5],r5
110  move.w [sp=sp-5],r5
111  move.b [sp=sp-5],r5
112
113  move.d [sp=sp-8],r5
114  move.w [sp=sp-8],r5
115  move.b [sp=sp-8],r5
116
117  push r0
118  pop r2
119  pop r3
120  push r13
121 end: