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