Switch the license of all .exp files to GPLv3.
[external/binutils.git] / gdb / testsuite / gdb.disasm / t07_ari3.exp
1 # Copyright (C) 2003, 2007 Free Software Foundation, Inc.
2
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 3 of the License, or
6 # (at your option) any later version.
7 #
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 # GNU General Public License for more details.
12 #
13 # You should have received a copy of the GNU General Public License
14 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
15
16 # Please email any bugs, comments, and/or additions to this file to:
17 # bug-gdb@prep.ai.mit.edu
18
19 # This file was written by Michael Snyder (msnyder@redhat.com)
20
21 if $tracelevel then {
22         strace $tracelevel
23 }
24
25 if ![istarget "h8300*-*-*"] {
26     verbose "Tests ignored for all but h8300s based targets."
27     return
28 }
29
30 set prms_id 0
31 set bug_id 0
32
33 set testfile "t07_ari3"
34 set srcfile ${srcdir}/${subdir}/${testfile}.s
35 set objfile ${objdir}/${subdir}/${testfile}.o
36 set binfile ${objdir}/${subdir}/${testfile}.x
37
38 set asm-flags "";
39 set link-flags "-m h8300sxelf";
40
41
42 if {[target_assemble $srcfile $objfile "${asm-flags}"] != ""} then {
43      untested t07_ari3.exp
44      return -1
45 }
46
47 if {[target_link $objfile $binfile "${link-flags}"] != ""} then {
48      untested t07_ari3.exp
49      return -1
50 }
51
52 gdb_start
53 gdb_reinitialize_dir $srcdir/$subdir
54 gdb_load $binfile
55
56 gdb_test "x /i _start" "neg.b\tr1h" \
57         "neg.b r1h"
58 gdb_test "x" "neg.b\t@er1" \
59         "neg.b @er1"
60 gdb_test "x" "neg.b\t@\\(0x3(:2|),er1\\)" \
61         "neg.b @(0x3:2,er1)"
62 gdb_test "x" "neg.b\t@er1\\+" \
63         "neg.b @er1+"
64 gdb_test "x" "neg.b\t@-er1" \
65         "neg.b @-er1"
66 gdb_test "x" "neg.b\t@\\+er1" \
67         "neg.b @+er1"
68 gdb_test "x" "neg.b\t@er1-" \
69         "neg.b @er1-"
70 gdb_test "x" "neg.b\t@\\(0x1234(:16|),er1\\)" \
71         "neg.b @(0x1234:16,er1)"
72 gdb_test "x" "neg.b\t@\\(0x12345678(:32|),er1\\)" \
73         "neg.b @(0x12345678:32,er1)"
74 gdb_test "x" "neg.b\t@\\(0x1234(:16|),r2l.b\\)" \
75         "neg.b @(0x1234:16,r2l.b)"
76 gdb_test "x" "neg.b\t@\\(0x1234(:16|),r2.w\\)" \
77         "neg.b @(0x1234:16,r2.w)"
78 gdb_test "x" "neg.b\t@\\(0x1234(:16|),er2.l\\)" \
79         "neg.b @(0x1234:16,er2.l)"
80 gdb_test "x" "neg.b\t@\\(0x12345678(:32|),r2l.b\\)" \
81         "neg.b @(0x12345678:32,r2l.b)"
82 gdb_test "x" "neg.b\t@\\(0x12345678(:32|),r2.w\\)" \
83         "neg.b @(0x12345678:32,r2.w)"
84 gdb_test "x" "neg.b\t@\\(0x12345678(:32|),er2.l\\)" \
85         "neg.b @(0x12345678:32,er2.l)"
86 gdb_test "x" "neg.b\t@0x12(:8|)" \
87         "neg.b @0x12:8"
88 gdb_test "x" "neg.b\t@0x1234(:16|)" \
89         "neg.b @0x1234:16"
90 gdb_test "x" "neg.b\t@0x12345678(:32|)" \
91         "neg.b @0x12345678:32"
92 gdb_test "x" "neg.w\tr1" \
93         "neg.w r1"
94 gdb_test "x" "neg.w\t@er1" \
95         "neg.w @er1"
96 gdb_test "x" "neg.w\t@\\(0x6(:2|),er1\\)" \
97         "neg.w @(0x6:2,er1)"
98 gdb_test "x" "neg.w\t@er1\\+" \
99         "neg.w @er1+"
100 gdb_test "x" "neg.w\t@-er1" \
101         "neg.w @-er1"
102 gdb_test "x" "neg.w\t@\\+er1" \
103         "neg.w @+er1"
104 gdb_test "x" "neg.w\t@er1-" \
105         "neg.w @er1-"
106 gdb_test "x" "neg.w\t@\\(0x1234(:16|),er1\\)" \
107         "neg.w @(0x1234:16,er1)"
108 gdb_test "x" "neg.w\t@\\(0x12345678(:32|),er1\\)" \
109         "neg.w @(0x12345678:32,er1)"
110 gdb_test "x" "neg.w\t@\\(0x1234(:16|),r2l.b\\)" \
111         "neg.w @(0x1234:16,r2l.b)"
112 gdb_test "x" "neg.w\t@\\(0x1234(:16|),r2.w\\)" \
113         "neg.w @(0x1234:16,r2.w)"
114 gdb_test "x" "neg.w\t@\\(0x1234(:16|),er2.l\\)" \
115         "neg.w @(0x1234:16,er2.l)"
116 gdb_test "x" "neg.w\t@\\(0x12345678(:32|),r2l.b\\)" \
117         "neg.w @(0x12345678:32,r2l.b)"
118 gdb_test "x" "neg.w\t@\\(0x12345678(:32|),r2.w\\)" \
119         "neg.w @(0x12345678:32,r2.w)"
120 gdb_test "x" "neg.w\t@\\(0x12345678(:32|),er2.l\\)" \
121         "neg.w @(0x12345678:32,er2.l)"
122 gdb_test "x" "neg.w\t@0x1234(:16|)" \
123         "neg.w @0x1234:16"
124 gdb_test "x" "neg.w\t@0x12345678(:32|)" \
125         "neg.w @0x12345678:32"
126 gdb_test "x" "neg.l\ter1" \
127         "neg.l er1"
128 gdb_test "x" "neg.l\t@er1" \
129         "neg.l @er1"
130 gdb_test "x" "neg.l\t@\\(0xc(:2|),er1\\)" \
131         "neg.l @(0xc:2,er1)"
132 gdb_test "x" "neg.l\t@er1\\+" \
133         "neg.l @er1+"
134 gdb_test "x" "neg.l\t@-er1" \
135         "neg.l @-er1"
136 gdb_test "x" "neg.l\t@\\+er1" \
137         "neg.l @+er1"
138 gdb_test "x" "neg.l\t@er1-" \
139         "neg.l @er1-"
140 gdb_test "x" "neg.l\t@\\(0x1234(:16|),er1\\)" \
141         "neg.l @(0x1234:16,er1)"
142 gdb_test "x" "neg.l\t@\\(0x12345678(:32|),er1\\)" \
143         "neg.l @(0x12345678:32,er1)"
144 gdb_test "x" "neg.l\t@\\(0x1234(:16|),r2l.b\\)" \
145         "neg.l @(0x1234:16,r2l.b)"
146 gdb_test "x" "neg.l\t@\\(0x1234(:16|),r2.w\\)" \
147         "neg.l @(0x1234:16,r2.w)"
148 gdb_test "x" "neg.l\t@\\(0x1234(:16|),er2.l\\)" \
149         "neg.l @(0x1234:16,er2.l)"
150 gdb_test "x" "neg.l\t@\\(0x12345678(:32|),r2l.b\\)" \
151         "neg.l @(0x12345678:32,r2l.b)"
152 gdb_test "x" "neg.l\t@\\(0x12345678(:32|),r2.w\\)" \
153         "neg.l @(0x12345678:32,r2.w)"
154 gdb_test "x" "neg.l\t@\\(0x12345678(:32|),er2.l\\)" \
155         "neg.l @(0x12345678:32,er2.l)"
156 gdb_test "x" "neg.l\t@0x1234(:16|)" \
157         "neg.l @0x1234:16"
158 gdb_test "x" "neg.l\t@0x12345678(:32|)" \
159         "neg.l @0x12345678:32"
160 gdb_test "x" "tas\t@er1" \
161         "tas @er1"
162 gdb_test "x" "extu.w\tr1" \
163         "extu.w r1"
164 gdb_test "x" "extu.w\t@er1" \
165         "extu.w @er1"
166 gdb_test "x" "extu.w\t@\\(0x6(:2|),er1\\)" \
167         "extu.w @(0x6:2,er1)"
168 gdb_test "x" "extu.w\t@er1\\+" \
169         "extu.w @er1+"
170 gdb_test "x" "extu.w\t@-er1" \
171         "extu.w @-er1"
172 gdb_test "x" "extu.w\t@\\+er1" \
173         "extu.w @+er1"
174 gdb_test "x" "extu.w\t@er1-" \
175         "extu.w @er1-"
176 gdb_test "x" "extu.w\t@\\(0x1234(:16|),er1\\)" \
177         "extu.w @(0x1234:16,er1)"
178 gdb_test "x" "extu.w\t@\\(0x12345678(:32|),er1\\)" \
179         "extu.w @(0x12345678:32,er1)"
180 gdb_test "x" "extu.w\t@\\(0x1234(:16|),r2l.b\\)" \
181         "extu.w @(0x1234:16,r2l.b)"
182 gdb_test "x" "extu.w\t@\\(0x1234(:16|),r2.w\\)" \
183         "extu.w @(0x1234:16,r2.w)"
184 gdb_test "x" "extu.w\t@\\(0x1234(:16|),er2.l\\)" \
185         "extu.w @(0x1234:16,er2.l)"
186 gdb_test "x" "extu.w\t@\\(0x12345678(:32|),r2l.b\\)" \
187         "extu.w @(0x12345678:32,r2l.b)"
188 gdb_test "x" "extu.w\t@\\(0x12345678(:32|),r2.w\\)" \
189         "extu.w @(0x12345678:32,r2.w)"
190 gdb_test "x" "extu.w\t@\\(0x12345678(:32|),er2.l\\)" \
191         "extu.w @(0x12345678:32,er2.l)"
192 gdb_test "x" "extu.w\t@0x1234(:16|)" \
193         "extu.w @0x1234:16"
194 gdb_test "x" "extu.w\t@0x12345678(:32|)" \
195         "extu.w @0x12345678:32"
196 gdb_test "x" "extu.l\ter1" \
197         "extu.l er1"
198 gdb_test "x" "extu.l\t@er1" \
199         "extu.l @er1"
200 gdb_test "x" "extu.l\t@\\(0xc(:2|),er1\\)" \
201         "extu.l @(0xc:2,er1)"
202 gdb_test "x" "extu.l\t@er1\\+" \
203         "extu.l @er1+"
204 gdb_test "x" "extu.l\t@-er1" \
205         "extu.l @-er1"
206 gdb_test "x" "extu.l\t@\\+er1" \
207         "extu.l @+er1"
208 gdb_test "x" "extu.l\t@er1-" \
209         "extu.l @er1-"
210 gdb_test "x" "extu.l\t@\\(0x1234(:16|),er1\\)" \
211         "extu.l @(0x1234:16,er1)"
212 gdb_test "x" "extu.l\t@\\(0x12345678(:32|),er1\\)" \
213         "extu.l @(0x12345678:32,er1)"
214 gdb_test "x" "extu.l\t@\\(0x1234(:16|),r2l.b\\)" \
215         "extu.l @(0x1234:16,r2l.b)"
216 gdb_test "x" "extu.l\t@\\(0x1234(:16|),r2.w\\)" \
217         "extu.l @(0x1234:16,r2.w)"
218 gdb_test "x" "extu.l\t@\\(0x1234(:16|),er2.l\\)" \
219         "extu.l @(0x1234:16,er2.l)"
220 gdb_test "x" "extu.l\t@\\(0x12345678(:32|),r2l.b\\)" \
221         "extu.l @(0x12345678:32,r2l.b)"
222 gdb_test "x" "extu.l\t@\\(0x12345678(:32|),r2.w\\)" \
223         "extu.l @(0x12345678:32,r2.w)"
224 gdb_test "x" "extu.l\t@\\(0x12345678(:32|),er2.l\\)" \
225         "extu.l @(0x12345678:32,er2.l)"
226 gdb_test "x" "extu.l\t@0x1234(:16|)" \
227         "extu.l @0x1234:16"
228 gdb_test "x" "extu.l\t@0x12345678(:32|)" \
229         "extu.l @0x12345678:32"
230 gdb_test "x" "extu.l\t#2,er1" \
231         "extu.l #2,er1"
232 gdb_test "x" "extu.l\t#2,@er1" \
233         "extu.l #2,@er1"
234 gdb_test "x" "extu.l\t#2,@\\(0xc(:2|),er1\\)" \
235         "extu.l #2,@(0xc:2,er1)"
236 gdb_test "x" "extu.l\t#2,@er1\\+" \
237         "extu.l #2,@er1+"
238 gdb_test "x" "extu.l\t#2,@-er1" \
239         "extu.l #2,@-er1"
240 gdb_test "x" "extu.l\t#2,@\\+er1" \
241         "extu.l #2,@+er1"
242 gdb_test "x" "extu.l\t#2,@er1-" \
243         "extu.l #2,@er1-"
244 gdb_test "x" "extu.l\t#2,@\\(0x1234(:16|),er1\\)" \
245         "extu.l #2,@(0x1234:16,er1)"
246 gdb_test "x" "extu.l\t#2,@\\(0x12345678(:32|),er1\\)" \
247         "extu.l #2,@(0x12345678:32,er1)"
248 gdb_test "x" "extu.l\t#2,@\\(0x1234(:16|),r2l.b\\)" \
249         "extu.l #2,@(0x1234:16,r2l.b)"
250 gdb_test "x" "extu.l\t#2,@\\(0x1234(:16|),r2.w\\)" \
251         "extu.l #2,@(0x1234:16,r2.w)"
252 gdb_test "x" "extu.l\t#2,@\\(0x1234(:16|),er2.l\\)" \
253         "extu.l #2,@(0x1234:16,er2.l)"
254 gdb_test "x" "extu.l\t#2,@\\(0x12345678(:32|),r2l.b\\)" \
255         "extu.l #2,@(0x12345678:32,r2l.b)"
256 gdb_test "x" "extu.l\t#2,@\\(0x12345678(:32|),r2.w\\)" \
257         "extu.l #2,@(0x12345678:32,r2.w)"
258 gdb_test "x" "extu.l\t#2,@\\(0x12345678(:32|),er2.l\\)" \
259         "extu.l #2,@(0x12345678:32,er2.l)"
260 gdb_test "x" "extu.l\t#2,@0x1234(:16|)" \
261         "extu.l #2,@0x1234:16"
262 gdb_test "x" "extu.l\t#2,@0x12345678(:32|)" \
263         "extu.l #2,@0x12345678:32"
264 gdb_test "x" "exts.w\tr1" \
265         "exts.w r1"
266 gdb_test "x" "exts.w\t@er1" \
267         "exts.w @er1"
268 gdb_test "x" "exts.w\t@\\(0x6(:2|),er1\\)" \
269         "exts.w @(0x6:2,er1)"
270 gdb_test "x" "exts.w\t@er1\\+" \
271         "exts.w @er1+"
272 gdb_test "x" "exts.w\t@-er1" \
273         "exts.w @-er1"
274 gdb_test "x" "exts.w\t@\\+er1" \
275         "exts.w @+er1"
276 gdb_test "x" "exts.w\t@er1-" \
277         "exts.w @er1-"
278 gdb_test "x" "exts.w\t@\\(0x1234(:16|),er1\\)" \
279         "exts.w @(0x1234:16,er1)"
280 gdb_test "x" "exts.w\t@\\(0x12345678(:32|),er1\\)" \
281         "exts.w @(0x12345678:32,er1)"
282 gdb_test "x" "exts.w\t@\\(0x1234(:16|),r2l.b\\)" \
283         "exts.w @(0x1234:16,r2l.b)"
284 gdb_test "x" "exts.w\t@\\(0x1234(:16|),r2.w\\)" \
285         "exts.w @(0x1234:16,r2.w)"
286 gdb_test "x" "exts.w\t@\\(0x1234(:16|),er2.l\\)" \
287         "exts.w @(0x1234:16,er2.l)"
288 gdb_test "x" "exts.w\t@\\(0x12345678(:32|),r2l.b\\)" \
289         "exts.w @(0x12345678:32,r2l.b)"
290 gdb_test "x" "exts.w\t@\\(0x12345678(:32|),r2.w\\)" \
291         "exts.w @(0x12345678:32,r2.w)"
292 gdb_test "x" "exts.w\t@\\(0x12345678(:32|),er2.l\\)" \
293         "exts.w @(0x12345678:32,er2.l)"
294 gdb_test "x" "exts.w\t@0x1234(:16|)" \
295         "exts.w @0x1234:16"
296 gdb_test "x" "exts.w\t@0x12345678(:32|)" \
297         "exts.w @0x12345678:32"
298 gdb_test "x" "exts.l\ter1" \
299         "exts.l er1"
300 gdb_test "x" "exts.l\t@er1" \
301         "exts.l @er1"
302 gdb_test "x" "exts.l\t@\\(0xc(:2|),er1\\)" \
303         "exts.l @(0xc:2,er1)"
304 gdb_test "x" "exts.l\t@er1\\+" \
305         "exts.l @er1+"
306 gdb_test "x" "exts.l\t@-er1" \
307         "exts.l @-er1"
308 gdb_test "x" "exts.l\t@\\+er1" \
309         "exts.l @+er1"
310 gdb_test "x" "exts.l\t@er1-" \
311         "exts.l @er1-"
312 gdb_test "x" "exts.l\t@\\(0x1234(:16|),er1\\)" \
313         "exts.l @(0x1234:16,er1)"
314 gdb_test "x" "exts.l\t@\\(0x12345678(:32|),er1\\)" \
315         "exts.l @(0x12345678:32,er1)"
316 gdb_test "x" "exts.l\t@\\(0x1234(:16|),r2l.b\\)" \
317         "exts.l @(0x1234:16,r2l.b)"
318 gdb_test "x" "exts.l\t@\\(0x1234(:16|),r2.w\\)" \
319         "exts.l @(0x1234:16,r2.w)"
320 gdb_test "x" "exts.l\t@\\(0x1234(:16|),er2.l\\)" \
321         "exts.l @(0x1234:16,er2.l)"
322 gdb_test "x" "exts.l\t@\\(0x12345678(:32|),r2l.b\\)" \
323         "exts.l @(0x12345678:32,r2l.b)"
324 gdb_test "x" "exts.l\t@\\(0x12345678(:32|),r2.w\\)" \
325         "exts.l @(0x12345678:32,r2.w)"
326 gdb_test "x" "exts.l\t@\\(0x12345678(:32|),er2.l\\)" \
327         "exts.l @(0x12345678:32,er2.l)"
328 gdb_test "x" "exts.l\t@0x1234(:16|)" \
329         "exts.l @0x1234:16"
330 gdb_test "x" "exts.l\t@0x12345678(:32|)" \
331         "exts.l @0x12345678:32"
332 gdb_test "x" "exts.l\t#2,er1" \
333         "exts.l #2,er1"
334 gdb_test "x" "exts.l\t#2,@er1" \
335         "exts.l #2,@er1"
336 gdb_test "x" "exts.l\t#2,@\\(0xc(:2|),er1\\)" \
337         "exts.l #2,@(0xc:2,er1)"
338 gdb_test "x" "exts.l\t#2,@er1\\+" \
339         "exts.l #2,@er1+"
340 gdb_test "x" "exts.l\t#2,@-er1" \
341         "exts.l #2,@-er1"
342 gdb_test "x" "exts.l\t#2,@\\+er1" \
343         "exts.l #2,@+er1"
344 gdb_test "x" "exts.l\t#2,@er1-" \
345         "exts.l #2,@er1-"
346 gdb_test "x" "exts.l\t#2,@\\(0x1234(:16|),er1\\)" \
347         "exts.l #2,@(0x1234:16,er1)"
348 gdb_test "x" "exts.l\t#2,@\\(0x12345678(:32|),er1\\)" \
349         "exts.l #2,@(0x12345678:32,er1)"
350 gdb_test "x" "exts.l\t#2,@\\(0x1234(:16|),r2l.b\\)" \
351         "exts.l #2,@(0x1234:16,r2l.b)"
352 gdb_test "x" "exts.l\t#2,@\\(0x1234(:16|),r2.w\\)" \
353         "exts.l #2,@(0x1234:16,r2.w)"
354 gdb_test "x" "exts.l\t#2,@\\(0x1234(:16|),er2.l\\)" \
355         "exts.l #2,@(0x1234:16,er2.l)"
356 gdb_test "x" "exts.l\t#2,@\\(0x12345678(:32|),r2l.b\\)" \
357         "exts.l #2,@(0x12345678:32,r2l.b)"
358 gdb_test "x" "exts.l\t#2,@\\(0x12345678(:32|),r2.w\\)" \
359         "exts.l #2,@(0x12345678:32,r2.w)"
360 gdb_test "x" "exts.l\t#2,@\\(0x12345678(:32|),er2.l\\)" \
361         "exts.l #2,@(0x12345678:32,er2.l)"
362 gdb_test "x" "exts.l\t#2,@0x1234(:16|)" \
363         "exts.l #2,@0x1234:16"
364 gdb_test "x" "exts.l\t#2,@0x12345678(:32|)" \
365         "exts.l #2,@0x12345678:32"