OSDN Git Service

Updated copyright notices for most files.
[pf3gnuchains/pf3gnuchains3x.git] / gdb / testsuite / gdb.disasm / t06_ari2.exp
1 # Copyright (C) 2003, 2007, 2008 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 "t06_ari2"
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 t06_ari2.exp
44      return -1
45 }
46
47 if {[target_link $objfile $binfile "${link-flags}"] != ""} then {
48      untested t06_ari2.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" "addx(.b|)\t#0x12(:8|),r1h" \
57         "addx.b #0x12:8,r1h"
58 gdb_test "x" "addx(.b|)\t#0x12(:8|),@er1" \
59         "addx.b #0x12:8,@er1"
60 gdb_test "x" "addx(.b|)\t#0x12(:8|),@er1-" \
61         "addx.b #0x12:8,@er1-"
62 gdb_test "x" "addx(.b|)\tr3h,r1h" \
63         "addx.b r3h,r1h"
64 gdb_test "x" "addx(.b|)\tr3h,@er1" \
65         "addx.b r3h,@er1"
66 gdb_test "x" "addx(.b|)\tr3h,@er1-" \
67         "addx.b r3h,@er1-"
68 gdb_test "x" "addx(.b|)\t@er3,r1h" \
69         "addx.b @er3,r1h"
70 gdb_test "x" "addx(.b|)\t@er3,@er1" \
71         "addx.b @er3,@er1"
72 gdb_test "x" "addx(.b|)\t@er3-,r1h" \
73         "addx.b @er3-,r1h"
74 gdb_test "x" "addx(.b|)\t@er3-,@er1-" \
75         "addx.b @er3-,@er1-"
76 gdb_test "x" "addx.w\t#0x1234(:16|),r1" \
77         "addx.w #0x1234:16,r1"
78 gdb_test "x" "addx.w\t#0x1234(:16|),@er1" \
79         "addx.w #0x1234:16,@er1"
80 gdb_test "x" "addx.w\t#0x1234(:16|),@er1-" \
81         "addx.w #0x1234:16,@er1-"
82 gdb_test "x" "addx.w\tr3,r1" \
83         "addx.w r3,r1"
84 gdb_test "x" "addx.w\tr3,@er1" \
85         "addx.w r3,@er1"
86 gdb_test "x" "addx.w\tr3,@er1-" \
87         "addx.w r3,@er1-"
88 gdb_test "x" "addx.w\t@er3,r1" \
89         "addx.w @er3,r1"
90 gdb_test "x" "addx.w\t@er3,@er1" \
91         "addx.w @er3,@er1"
92 gdb_test "x" "addx.w\t@er3-,r1" \
93         "addx.w @er3-,r1"
94 gdb_test "x" "addx.w\t@er3-,@er1-" \
95         "addx.w @er3-,@er1-"
96 gdb_test "x" "addx.l\t#0x12345678(:32|),er1" \
97         "addx.l #0x12345678:32,er1"
98 gdb_test "x" "addx.l\t#0x12345678(:32|),@er1" \
99         "addx.l #0x12345678:32,@er1"
100 gdb_test "x" "addx.l\t#0x12345678(:32|),@er1-" \
101         "addx.l #0x12345678:32,@er1-"
102 gdb_test "x" "addx.l\ter3,er1" \
103         "addx.l er3,er1"
104 gdb_test "x" "addx.l\ter3,@er1" \
105         "addx.l er3,@er1"
106 gdb_test "x" "addx.l\ter3,@er1-" \
107         "addx.l er3,@er1-"
108 gdb_test "x" "addx.l\t@er3,er1" \
109         "addx.l @er3,er1"
110 gdb_test "x" "addx.l\t@er3,@er1" \
111         "addx.l @er3,@er1"
112 gdb_test "x" "addx.l\t@er3-,er1" \
113         "addx.l @er3-,er1"
114 gdb_test "x" "addx.l\t@er3-,@er1-" \
115         "addx.l @er3-,@er1-"
116 gdb_test "x" "subx(.b|)\t#0x12(:8|),r1h" \
117         "subx.b #0x12:8,r1h"
118 gdb_test "x" "subx(.b|)\t#0x12(:8|),@er1" \
119         "subx.b #0x12:8,@er1"
120 gdb_test "x" "subx(.b|)\t#0x12(:8|),@er1-" \
121         "subx.b #0x12:8,@er1-"
122 gdb_test "x" "subx(.b|)\tr3h,r1h" \
123         "subx.b r3h,r1h"
124 gdb_test "x" "subx(.b|)\tr3h,@er1" \
125         "subx.b r3h,@er1"
126 gdb_test "x" "subx(.b|)\tr3h,@er1-" \
127         "subx.b r3h,@er1-"
128 gdb_test "x" "subx(.b|)\t@er3,r1h" \
129         "subx.b @er3,r1h"
130 gdb_test "x" "subx(.b|)\t@er3,@er1" \
131         "subx.b @er3,@er1"
132 gdb_test "x" "subx(.b|)\t@er3-,r1h" \
133         "subx.b @er3-,r1h"
134 gdb_test "x" "subx(.b|)\t@er3-,@er1-" \
135         "subx.b @er3-,@er1-"
136 gdb_test "x" "subx.w\t#0x1234(:16|),r1" \
137         "subx.w #0x1234:16,r1"
138 gdb_test "x" "subx.w\t#0x1234(:16|),@er1" \
139         "subx.w #0x1234:16,@er1"
140 gdb_test "x" "subx.w\t#0x1234(:16|),@er1-" \
141         "subx.w #0x1234:16,@er1-"
142 gdb_test "x" "subx.w\tr3,r1" \
143         "subx.w r3,r1"
144 gdb_test "x" "subx.w\tr3,@er1" \
145         "subx.w r3,@er1"
146 gdb_test "x" "subx.w\tr3,@er1-" \
147         "subx.w r3,@er1-"
148 gdb_test "x" "subx.w\t@er3,r1" \
149         "subx.w @er3,r1"
150 gdb_test "x" "subx.w\t@er3,@er1" \
151         "subx.w @er3,@er1"
152 gdb_test "x" "subx.w\t@er3-,r1" \
153         "subx.w @er3-,r1"
154 gdb_test "x" "subx.w\t@er3-,@er1-" \
155         "subx.w @er3-,@er1-"
156 gdb_test "x" "subx.l\t#0x12345678(:32|),er1" \
157         "subx.l #0x12345678:32,er1"
158 gdb_test "x" "subx.l\t#0x12345678(:32|),@er1" \
159         "subx.l #0x12345678:32,@er1"
160 gdb_test "x" "subx.l\t#0x12345678(:32|),@er1-" \
161         "subx.l #0x12345678:32,@er1-"
162 gdb_test "x" "subx.l\ter3,er1" \
163         "subx.l er3,er1"
164 gdb_test "x" "subx.l\ter3,@er1" \
165         "subx.l er3,@er1"
166 gdb_test "x" "subx.l\ter3,@er1-" \
167         "subx.l er3,@er1-"
168 gdb_test "x" "subx.l\t@er3,er1" \
169         "subx.l @er3,er1"
170 gdb_test "x" "subx.l\t@er3,@er1" \
171         "subx.l @er3,@er1"
172 gdb_test "x" "subx.l\t@er3-,er1" \
173         "subx.l @er3-,er1"
174 gdb_test "x" "subx.l\t@er3-,@er1-" \
175         "subx.l @er3-,@er1-"
176 gdb_test "x" "inc(.b|)\tr1h" \
177         "inc.b r1h"
178 gdb_test "x" "inc(.w|)\t#1,r1" \
179         "inc.w #1,r1"
180 gdb_test "x" "inc(.w|)\t#2,r1" \
181         "inc.w #2,r1"
182 gdb_test "x" "inc(.l|)\t#1,er1" \
183         "inc.l #1,er1"
184 gdb_test "x" "inc(.l|)\t#2,er1" \
185         "inc.l #2,er1"
186 gdb_test "x" "dec(.b|)\tr1h" \
187         "dec.b r1h"
188 gdb_test "x" "dec(.w|)\t#1,r1" \
189         "dec.w #1,r1"
190 gdb_test "x" "dec(.w|)\t#2,r1" \
191         "dec.w #2,r1"
192 gdb_test "x" "dec(.l|)\t#1,er1" \
193         "dec.l #1,er1"
194 gdb_test "x" "dec(.l|)\t#2,er1" \
195         "dec.l #2,er1"
196 gdb_test "x" "adds(.l|)\t#1,er1" \
197         "adds.l #1,er1"
198 gdb_test "x" "adds(.l|)\t#2,er1" \
199         "adds.l #2,er1"
200 gdb_test "x" "adds(.l|)\t#4,er1" \
201         "adds.l #4,er1"
202 gdb_test "x" "subs(.l|)\t#1,er1" \
203         "subs.l #1,er1"
204 gdb_test "x" "subs(.l|)\t#2,er1" \
205         "subs.l #2,er1"
206 gdb_test "x" "subs(.l|)\t#4,er1" \
207         "subs.l #4,er1"
208 gdb_test "x" "daa(.b|)\tr1h" \
209         "daa.b r1h"
210 gdb_test "x" "das(.b|)\tr1h" \
211         "das.b r1h"
212 gdb_test "x" "mulxu.b\t#0xf(:4|),r1" \
213         "mulxu.b #0xf:4,r1"
214 gdb_test "x" "mulxu.b\tr3h,r1" \
215         "mulxu.b r3h,r1"
216 gdb_test "x" "mulxu.w\t#0xf(:4|),er1" \
217         "mulxu.w #0xf:4,er1"
218 gdb_test "x" "mulxu.w\tr3,er1" \
219         "mulxu.w r3,er1"
220 gdb_test "x" "divxu.b\t#0xf(:4|),r1" \
221         "divxu.b #0xf:4,r1"
222 gdb_test "x" "divxu.b\tr3h,r1" \
223         "divxu.b r3h,r1"
224 gdb_test "x" "divxu.w\t#0xf(:4|),er1" \
225         "divxu.w #0xf:4,er1"
226 gdb_test "x" "divxu.w\tr3,er1" \
227         "divxu.w r3,er1"
228 gdb_test "x" "mulxs.b\t#0xf(:4|),r1" \
229         "mulxs.b #0xf:4,r1"
230 gdb_test "x" "mulxs.b\tr3h,r1" \
231         "mulxs.b r3h,r1"
232 gdb_test "x" "mulxs.w\t#0xf(:4|),er1" \
233         "mulxs.w #0xf:4,er1"
234 gdb_test "x" "mulxs.w\tr3,er1" \
235         "mulxs.w r3,er1"
236 gdb_test "x" "divxs.b\t#0xf(:4|),r1" \
237         "divxs.b #0xf:4,r1"
238 gdb_test "x" "divxs.b\tr3h,r1" \
239         "divxs.b r3h,r1"
240 gdb_test "x" "divxs.w\t#0xf(:4|),er1" \
241         "divxs.w #0xf:4,er1"
242 gdb_test "x" "divxs.w\tr3,er1" \
243         "divxs.w r3,er1"
244 gdb_test "x" "mulu.w\t#0xf(:4|),r1" \
245         "mulu.w #0xf:4,r1"
246 gdb_test "x" "mulu.w\tr3,r1" \
247         "mulu.w r3,r1"
248 gdb_test "x" "mulu.l\t#0xf(:4|),er1" \
249         "mulu.l #0xf:4,er1"
250 gdb_test "x" "mulu.l\ter3,er1" \
251         "mulu.l er3,er1"
252 gdb_test "x" "mulu/u.l\t#0xf(:4|),er1" \
253         "mulu/u.l #0xf:4,er1"
254 gdb_test "x" "mulu/u.l\ter3,er1" \
255         "mulu/u.l er3,er1"
256 gdb_test "x" "muls.w\t#0xf(:4|),r1" \
257         "muls.w #0xf:4,r1"
258 gdb_test "x" "muls.w\tr3,r1" \
259         "muls.w r3,r1"
260 gdb_test "x" "muls.l\t#0xf(:4|),er1" \
261         "muls.l #0xf:4,er1"
262 gdb_test "x" "muls.l\ter3,er1" \
263         "muls.l er3,er1"
264 gdb_test "x" "muls/u.l\t#0xf(:4|),er1" \
265         "muls/u.l #0xf:4,er1"
266 gdb_test "x" "muls/u.l\ter3,er1" \
267         "muls/u.l er3,er1"
268 gdb_test "x" "divu.w\t#0xf(:4|),r1" \
269         "divu.w #0xf:4,r1"
270 gdb_test "x" "divu.w\tr3,r1" \
271         "divu.w r3,r1"
272 gdb_test "x" "divu.l\t#0xf(:4|),er1" \
273         "divu.l #0xf:4,er1"
274 gdb_test "x" "divu.l\ter3,er1" \
275         "divu.l er3,er1"
276 gdb_test "x" "divs.w\t#0xf(:4|),r1" \
277         "divs.w #0xf:4,r1"
278 gdb_test "x" "divs.w\tr3,r1" \
279         "divs.w r3,r1"
280 gdb_test "x" "divs.l\t#0xf(:4|),er1" \
281         "divs.l #0xf:4,er1"
282 gdb_test "x" "divs.l\ter3,er1" \
283         "divs.l er3,er1"