binutils/
[external/binutils.git] / sim / testsuite / sim / frv / cstdu.cgs
1 # frv testcase for cstdu $GRk,@($GRi,$GRj),$CCi,$cond
2 # mach: all
3
4         .include "testutils.inc"
5
6         start
7
8         .global cstdu
9 cstdu:
10         set_spr_immed   0x1b1b,cccr
11
12         set_mem_limmed  0xbeef,0xdead,sp
13         inc_gr_immed    -4,sp
14         set_mem_limmed  0xdead,0xbeef,sp
15         set_gr_gr       sp,gr20
16         set_gr_gr       sp,gr21
17
18         set_gr_immed    0,gr7
19         set_gr_limmed   0xbeef,0xdead,gr8
20         set_gr_limmed   0xdead,0xbeef,gr9
21         cstdu           gr8,@(sp,gr7),cc0,1
22         test_mem_limmed 0xbeef,0xdead,gr21
23         inc_gr_immed    4,gr21
24         test_mem_limmed 0xdead,0xbeef,gr21
25         test_gr_gr      sp,gr20
26
27         set_gr_gr       gr20,gr21
28         inc_gr_immed    -8,sp
29         set_gr_immed    8,gr7
30         set_gr_limmed   0xaaaa,0xaaaa,gr8
31         set_gr_limmed   0xbbbb,0xbbbb,gr9
32         cstdu           gr8,@(sp,gr7),cc0,1
33         test_mem_limmed 0xaaaa,0xaaaa,gr21
34         inc_gr_immed    4,gr21
35         test_mem_limmed 0xbbbb,0xbbbb,gr21
36         test_gr_gr      sp,gr20
37
38         set_gr_gr       gr20,gr21
39         inc_gr_immed    8,sp
40         set_gr_immed    -8,gr7
41         set_gr_limmed   0xcccc,0xcccc,gr8
42         set_gr_limmed   0xdddd,0xdddd,gr9
43         cstdu           gr8,@(sp,gr7),cc4,1
44         test_mem_limmed 0xcccc,0xcccc,gr21
45         inc_gr_immed    4,gr21
46         test_mem_limmed 0xdddd,0xdddd,gr21
47         test_gr_gr      sp,gr20
48
49         set_gr_gr       gr20,gr21
50         set_gr_gr       gr20,sp
51         set_mem_limmed  0xdead,0xbeef,sp
52         inc_gr_immed    4,sp
53         set_mem_limmed  0xbeef,0xdead,sp
54         inc_gr_immed    -4,sp
55
56         set_gr_gr       sp,gr22
57         set_gr_immed    0,gr7
58         set_gr_limmed   0xbeef,0xdead,gr8
59         set_gr_limmed   0xdead,0xbeef,gr9
60         cstdu           gr8,@(sp,gr7),cc0,0
61         test_mem_limmed 0xdead,0xbeef,gr21
62         inc_gr_immed    4,gr21
63         test_mem_limmed 0xbeef,0xdead,gr21
64         test_gr_gr      sp,gr22
65
66         set_gr_gr       gr20,gr21
67         inc_gr_immed    -8,sp
68         set_gr_gr       sp,gr22
69         set_gr_immed    8,gr7
70         set_gr_limmed   0xaaaa,0xaaaa,gr8
71         set_gr_limmed   0xbbbb,0xbbbb,gr9
72         cstdu           gr8,@(sp,gr7),cc0,0
73         test_mem_limmed 0xdead,0xbeef,gr21
74         inc_gr_immed    4,gr21
75         test_mem_limmed 0xbeef,0xdead,gr21
76         test_gr_gr      sp,gr22
77
78         set_gr_gr       gr20,gr21
79         inc_gr_immed    16,sp
80         set_gr_gr       sp,gr22
81         set_gr_immed    -8,gr7
82         set_gr_limmed   0xcccc,0xcccc,gr8
83         set_gr_limmed   0xdddd,0xdddd,gr9
84         cstdu           gr8,@(sp,gr7),cc4,0
85         test_mem_limmed 0xdead,0xbeef,gr21
86         inc_gr_immed    4,gr21
87         test_mem_limmed 0xbeef,0xdead,gr21
88         test_gr_gr      sp,gr22
89
90         set_gr_gr       gr20,gr21
91         set_gr_gr       gr20,sp
92         set_mem_limmed  0xdead,0xbeef,sp
93         inc_gr_immed    4,sp
94         set_mem_limmed  0xbeef,0xdead,sp
95         inc_gr_immed    -4,sp
96
97         set_gr_immed    0,gr7
98         set_gr_limmed   0xbeef,0xdead,gr8
99         set_gr_limmed   0xdead,0xbeef,gr9
100         cstdu           gr8,@(sp,gr7),cc1,0
101         test_mem_limmed 0xbeef,0xdead,gr21
102         inc_gr_immed    4,gr21
103         test_mem_limmed 0xdead,0xbeef,gr21
104         test_gr_gr      sp,gr20
105
106         set_gr_gr       gr20,gr21
107         inc_gr_immed    -8,sp
108         set_gr_immed    8,gr7
109         set_gr_limmed   0xaaaa,0xaaaa,gr8
110         set_gr_limmed   0xbbbb,0xbbbb,gr9
111         cstdu           gr8,@(sp,gr7),cc1,0
112         test_mem_limmed 0xaaaa,0xaaaa,gr21
113         inc_gr_immed    4,gr21
114         test_mem_limmed 0xbbbb,0xbbbb,gr21
115         test_gr_gr      sp,gr20
116
117         set_gr_gr       gr20,gr21
118         inc_gr_immed    8,sp
119         set_gr_immed    -8,gr7
120         set_gr_limmed   0xcccc,0xcccc,gr8
121         set_gr_limmed   0xdddd,0xdddd,gr9
122         cstdu           gr8,@(sp,gr7),cc5,0
123         test_mem_limmed 0xcccc,0xcccc,gr21
124         inc_gr_immed    4,gr21
125         test_mem_limmed 0xdddd,0xdddd,gr21
126         test_gr_gr      sp,gr20
127
128         set_gr_gr       gr20,gr21
129         set_gr_gr       gr20,sp
130         set_mem_limmed  0xdead,0xbeef,sp
131         inc_gr_immed    4,sp
132         set_mem_limmed  0xbeef,0xdead,sp
133         inc_gr_immed    -4,sp
134
135         set_gr_gr       sp,gr22
136         set_gr_immed    0,gr7
137         set_gr_limmed   0xbeef,0xdead,gr8
138         set_gr_limmed   0xdead,0xbeef,gr9
139         cstdu           gr8,@(sp,gr7),cc1,1
140         test_mem_limmed 0xdead,0xbeef,gr21
141         inc_gr_immed    4,gr21
142         test_mem_limmed 0xbeef,0xdead,gr21
143         test_gr_gr      sp,gr22
144
145         set_gr_gr       gr20,gr21
146         inc_gr_immed    -8,sp
147         set_gr_gr       sp,gr22
148         set_gr_immed    8,gr7
149         set_gr_limmed   0xaaaa,0xaaaa,gr8
150         set_gr_limmed   0xbbbb,0xbbbb,gr9
151         cstdu           gr8,@(sp,gr7),cc1,1
152         test_mem_limmed 0xdead,0xbeef,gr21
153         inc_gr_immed    4,gr21
154         test_mem_limmed 0xbeef,0xdead,gr21
155         test_gr_gr      sp,gr22
156
157         set_gr_gr       gr20,gr21
158         inc_gr_immed    16,sp
159         set_gr_gr       sp,gr22
160         set_gr_immed    -8,gr7
161         set_gr_limmed   0xcccc,0xcccc,gr8
162         set_gr_limmed   0xdddd,0xdddd,gr9
163         cstdu           gr8,@(sp,gr7),cc5,1
164         test_mem_limmed 0xdead,0xbeef,gr21
165         inc_gr_immed    4,gr21
166         test_mem_limmed 0xbeef,0xdead,gr21
167         test_gr_gr      sp,gr22
168
169         set_gr_gr       gr20,gr21
170         set_gr_gr       gr20,sp
171         set_mem_limmed  0xdead,0xbeef,sp
172         inc_gr_immed    4,sp
173         set_mem_limmed  0xbeef,0xdead,sp
174         inc_gr_immed    -4,sp
175
176         set_gr_gr       sp,gr22
177         set_gr_immed    0,gr7
178         set_gr_limmed   0xbeef,0xdead,gr8
179         set_gr_limmed   0xdead,0xbeef,gr9
180         cstdu           gr8,@(sp,gr7),cc2,0
181         test_mem_limmed 0xdead,0xbeef,gr21
182         inc_gr_immed    4,gr21
183         test_mem_limmed 0xbeef,0xdead,gr21
184         test_gr_gr      sp,gr22
185
186         set_gr_gr       gr20,gr21
187         inc_gr_immed    -8,sp
188         set_gr_gr       sp,gr22
189         set_gr_immed    8,gr7
190         set_gr_limmed   0xaaaa,0xaaaa,gr8
191         set_gr_limmed   0xbbbb,0xbbbb,gr9
192         cstdu           gr8,@(sp,gr7),cc2,1
193         test_mem_limmed 0xdead,0xbeef,gr21
194         inc_gr_immed    4,gr21
195         test_mem_limmed 0xbeef,0xdead,gr21
196         test_gr_gr      sp,gr22
197
198         set_gr_gr       gr20,gr21
199         inc_gr_immed    16,sp
200         set_gr_gr       sp,gr22
201         set_gr_immed    -8,gr7
202         set_gr_limmed   0xcccc,0xcccc,gr8
203         set_gr_limmed   0xdddd,0xdddd,gr9
204         cstdu           gr8,@(sp,gr7),cc6,0
205         test_mem_limmed 0xdead,0xbeef,gr21
206         inc_gr_immed    4,gr21
207         test_mem_limmed 0xbeef,0xdead,gr21
208         test_gr_gr      sp,gr22
209
210         set_gr_gr       gr20,gr21
211         set_gr_gr       gr20,sp
212         set_mem_limmed  0xdead,0xbeef,sp
213         inc_gr_immed    4,sp
214         set_mem_limmed  0xbeef,0xdead,sp
215         inc_gr_immed    -4,sp
216
217         set_gr_gr       sp,gr22
218         set_gr_immed    0,gr7
219         set_gr_limmed   0xbeef,0xdead,gr8
220         set_gr_limmed   0xdead,0xbeef,gr9
221         cstdu           gr8,@(sp,gr7),cc3,1
222         test_mem_limmed 0xdead,0xbeef,gr21
223         inc_gr_immed    4,gr21
224         test_mem_limmed 0xbeef,0xdead,gr21
225         test_gr_gr      sp,gr22
226
227         set_gr_gr       gr20,gr21
228         inc_gr_immed    -8,sp
229         set_gr_gr       sp,gr22
230         set_gr_immed    8,gr7
231         set_gr_limmed   0xaaaa,0xaaaa,gr8
232         set_gr_limmed   0xbbbb,0xbbbb,gr9
233         cstdu           gr8,@(sp,gr7),cc3,0
234         test_mem_limmed 0xdead,0xbeef,gr21
235         inc_gr_immed    4,gr21
236         test_mem_limmed 0xbeef,0xdead,gr21
237         test_gr_gr      sp,gr22
238
239         set_gr_gr       gr20,gr21
240         inc_gr_immed    16,sp
241         set_gr_gr       sp,gr22
242         set_gr_immed    -8,gr7
243         set_gr_limmed   0xcccc,0xcccc,gr8
244         set_gr_limmed   0xdddd,0xdddd,gr9
245         cstdu           gr8,@(sp,gr7),cc7,1
246         test_mem_limmed 0xdead,0xbeef,gr21
247         inc_gr_immed    4,gr21
248         test_mem_limmed 0xbeef,0xdead,gr21
249         test_gr_gr      sp,gr22
250
251         pass