OSDN Git Service

Update copyright year in most headers.
[pf3gnuchains/pf3gnuchains3x.git] / gdb / testsuite / gdb.disasm / t06_ari2.exp
1 # Copyright (C) 2003, 2007, 2008, 2009, 2010 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 # This file was written by Michael Snyder (msnyder@redhat.com)
17
18 if $tracelevel then {
19         strace $tracelevel
20 }
21
22 if ![istarget "h8300*-*-*"] {
23     verbose "Tests ignored for all but h8300s based targets."
24     return
25 }
26
27 set prms_id 0
28 set bug_id 0
29
30 set testfile "t06_ari2"
31 set srcfile ${srcdir}/${subdir}/${testfile}.s
32 set objfile ${objdir}/${subdir}/${testfile}.o
33 set binfile ${objdir}/${subdir}/${testfile}.x
34
35 set asm-flags "";
36 set link-flags "-m h8300sxelf";
37
38
39 if {[target_assemble $srcfile $objfile "${asm-flags}"] != ""} then {
40      untested t06_ari2.exp
41      return -1
42 }
43
44 if {[target_link $objfile $binfile "${link-flags}"] != ""} then {
45      untested t06_ari2.exp
46      return -1
47 }
48
49 gdb_start
50 gdb_reinitialize_dir $srcdir/$subdir
51 gdb_load $binfile
52
53 gdb_test "x /i _start" "addx(.b|)\t#0x12(:8|),r1h" \
54         "addx.b #0x12:8,r1h"
55 gdb_test "x" "addx(.b|)\t#0x12(:8|),@er1" \
56         "addx.b #0x12:8,@er1"
57 gdb_test "x" "addx(.b|)\t#0x12(:8|),@er1-" \
58         "addx.b #0x12:8,@er1-"
59 gdb_test "x" "addx(.b|)\tr3h,r1h" \
60         "addx.b r3h,r1h"
61 gdb_test "x" "addx(.b|)\tr3h,@er1" \
62         "addx.b r3h,@er1"
63 gdb_test "x" "addx(.b|)\tr3h,@er1-" \
64         "addx.b r3h,@er1-"
65 gdb_test "x" "addx(.b|)\t@er3,r1h" \
66         "addx.b @er3,r1h"
67 gdb_test "x" "addx(.b|)\t@er3,@er1" \
68         "addx.b @er3,@er1"
69 gdb_test "x" "addx(.b|)\t@er3-,r1h" \
70         "addx.b @er3-,r1h"
71 gdb_test "x" "addx(.b|)\t@er3-,@er1-" \
72         "addx.b @er3-,@er1-"
73 gdb_test "x" "addx.w\t#0x1234(:16|),r1" \
74         "addx.w #0x1234:16,r1"
75 gdb_test "x" "addx.w\t#0x1234(:16|),@er1" \
76         "addx.w #0x1234:16,@er1"
77 gdb_test "x" "addx.w\t#0x1234(:16|),@er1-" \
78         "addx.w #0x1234:16,@er1-"
79 gdb_test "x" "addx.w\tr3,r1" \
80         "addx.w r3,r1"
81 gdb_test "x" "addx.w\tr3,@er1" \
82         "addx.w r3,@er1"
83 gdb_test "x" "addx.w\tr3,@er1-" \
84         "addx.w r3,@er1-"
85 gdb_test "x" "addx.w\t@er3,r1" \
86         "addx.w @er3,r1"
87 gdb_test "x" "addx.w\t@er3,@er1" \
88         "addx.w @er3,@er1"
89 gdb_test "x" "addx.w\t@er3-,r1" \
90         "addx.w @er3-,r1"
91 gdb_test "x" "addx.w\t@er3-,@er1-" \
92         "addx.w @er3-,@er1-"
93 gdb_test "x" "addx.l\t#0x12345678(:32|),er1" \
94         "addx.l #0x12345678:32,er1"
95 gdb_test "x" "addx.l\t#0x12345678(:32|),@er1" \
96         "addx.l #0x12345678:32,@er1"
97 gdb_test "x" "addx.l\t#0x12345678(:32|),@er1-" \
98         "addx.l #0x12345678:32,@er1-"
99 gdb_test "x" "addx.l\ter3,er1" \
100         "addx.l er3,er1"
101 gdb_test "x" "addx.l\ter3,@er1" \
102         "addx.l er3,@er1"
103 gdb_test "x" "addx.l\ter3,@er1-" \
104         "addx.l er3,@er1-"
105 gdb_test "x" "addx.l\t@er3,er1" \
106         "addx.l @er3,er1"
107 gdb_test "x" "addx.l\t@er3,@er1" \
108         "addx.l @er3,@er1"
109 gdb_test "x" "addx.l\t@er3-,er1" \
110         "addx.l @er3-,er1"
111 gdb_test "x" "addx.l\t@er3-,@er1-" \
112         "addx.l @er3-,@er1-"
113 gdb_test "x" "subx(.b|)\t#0x12(:8|),r1h" \
114         "subx.b #0x12:8,r1h"
115 gdb_test "x" "subx(.b|)\t#0x12(:8|),@er1" \
116         "subx.b #0x12:8,@er1"
117 gdb_test "x" "subx(.b|)\t#0x12(:8|),@er1-" \
118         "subx.b #0x12:8,@er1-"
119 gdb_test "x" "subx(.b|)\tr3h,r1h" \
120         "subx.b r3h,r1h"
121 gdb_test "x" "subx(.b|)\tr3h,@er1" \
122         "subx.b r3h,@er1"
123 gdb_test "x" "subx(.b|)\tr3h,@er1-" \
124         "subx.b r3h,@er1-"
125 gdb_test "x" "subx(.b|)\t@er3,r1h" \
126         "subx.b @er3,r1h"
127 gdb_test "x" "subx(.b|)\t@er3,@er1" \
128         "subx.b @er3,@er1"
129 gdb_test "x" "subx(.b|)\t@er3-,r1h" \
130         "subx.b @er3-,r1h"
131 gdb_test "x" "subx(.b|)\t@er3-,@er1-" \
132         "subx.b @er3-,@er1-"
133 gdb_test "x" "subx.w\t#0x1234(:16|),r1" \
134         "subx.w #0x1234:16,r1"
135 gdb_test "x" "subx.w\t#0x1234(:16|),@er1" \
136         "subx.w #0x1234:16,@er1"
137 gdb_test "x" "subx.w\t#0x1234(:16|),@er1-" \
138         "subx.w #0x1234:16,@er1-"
139 gdb_test "x" "subx.w\tr3,r1" \
140         "subx.w r3,r1"
141 gdb_test "x" "subx.w\tr3,@er1" \
142         "subx.w r3,@er1"
143 gdb_test "x" "subx.w\tr3,@er1-" \
144         "subx.w r3,@er1-"
145 gdb_test "x" "subx.w\t@er3,r1" \
146         "subx.w @er3,r1"
147 gdb_test "x" "subx.w\t@er3,@er1" \
148         "subx.w @er3,@er1"
149 gdb_test "x" "subx.w\t@er3-,r1" \
150         "subx.w @er3-,r1"
151 gdb_test "x" "subx.w\t@er3-,@er1-" \
152         "subx.w @er3-,@er1-"
153 gdb_test "x" "subx.l\t#0x12345678(:32|),er1" \
154         "subx.l #0x12345678:32,er1"
155 gdb_test "x" "subx.l\t#0x12345678(:32|),@er1" \
156         "subx.l #0x12345678:32,@er1"
157 gdb_test "x" "subx.l\t#0x12345678(:32|),@er1-" \
158         "subx.l #0x12345678:32,@er1-"
159 gdb_test "x" "subx.l\ter3,er1" \
160         "subx.l er3,er1"
161 gdb_test "x" "subx.l\ter3,@er1" \
162         "subx.l er3,@er1"
163 gdb_test "x" "subx.l\ter3,@er1-" \
164         "subx.l er3,@er1-"
165 gdb_test "x" "subx.l\t@er3,er1" \
166         "subx.l @er3,er1"
167 gdb_test "x" "subx.l\t@er3,@er1" \
168         "subx.l @er3,@er1"
169 gdb_test "x" "subx.l\t@er3-,er1" \
170         "subx.l @er3-,er1"
171 gdb_test "x" "subx.l\t@er3-,@er1-" \
172         "subx.l @er3-,@er1-"
173 gdb_test "x" "inc(.b|)\tr1h" \
174         "inc.b r1h"
175 gdb_test "x" "inc(.w|)\t#1,r1" \
176         "inc.w #1,r1"
177 gdb_test "x" "inc(.w|)\t#2,r1" \
178         "inc.w #2,r1"
179 gdb_test "x" "inc(.l|)\t#1,er1" \
180         "inc.l #1,er1"
181 gdb_test "x" "inc(.l|)\t#2,er1" \
182         "inc.l #2,er1"
183 gdb_test "x" "dec(.b|)\tr1h" \
184         "dec.b r1h"
185 gdb_test "x" "dec(.w|)\t#1,r1" \
186         "dec.w #1,r1"
187 gdb_test "x" "dec(.w|)\t#2,r1" \
188         "dec.w #2,r1"
189 gdb_test "x" "dec(.l|)\t#1,er1" \
190         "dec.l #1,er1"
191 gdb_test "x" "dec(.l|)\t#2,er1" \
192         "dec.l #2,er1"
193 gdb_test "x" "adds(.l|)\t#1,er1" \
194         "adds.l #1,er1"
195 gdb_test "x" "adds(.l|)\t#2,er1" \
196         "adds.l #2,er1"
197 gdb_test "x" "adds(.l|)\t#4,er1" \
198         "adds.l #4,er1"
199 gdb_test "x" "subs(.l|)\t#1,er1" \
200         "subs.l #1,er1"
201 gdb_test "x" "subs(.l|)\t#2,er1" \
202         "subs.l #2,er1"
203 gdb_test "x" "subs(.l|)\t#4,er1" \
204         "subs.l #4,er1"
205 gdb_test "x" "daa(.b|)\tr1h" \
206         "daa.b r1h"
207 gdb_test "x" "das(.b|)\tr1h" \
208         "das.b r1h"
209 gdb_test "x" "mulxu.b\t#0xf(:4|),r1" \
210         "mulxu.b #0xf:4,r1"
211 gdb_test "x" "mulxu.b\tr3h,r1" \
212         "mulxu.b r3h,r1"
213 gdb_test "x" "mulxu.w\t#0xf(:4|),er1" \
214         "mulxu.w #0xf:4,er1"
215 gdb_test "x" "mulxu.w\tr3,er1" \
216         "mulxu.w r3,er1"
217 gdb_test "x" "divxu.b\t#0xf(:4|),r1" \
218         "divxu.b #0xf:4,r1"
219 gdb_test "x" "divxu.b\tr3h,r1" \
220         "divxu.b r3h,r1"
221 gdb_test "x" "divxu.w\t#0xf(:4|),er1" \
222         "divxu.w #0xf:4,er1"
223 gdb_test "x" "divxu.w\tr3,er1" \
224         "divxu.w r3,er1"
225 gdb_test "x" "mulxs.b\t#0xf(:4|),r1" \
226         "mulxs.b #0xf:4,r1"
227 gdb_test "x" "mulxs.b\tr3h,r1" \
228         "mulxs.b r3h,r1"
229 gdb_test "x" "mulxs.w\t#0xf(:4|),er1" \
230         "mulxs.w #0xf:4,er1"
231 gdb_test "x" "mulxs.w\tr3,er1" \
232         "mulxs.w r3,er1"
233 gdb_test "x" "divxs.b\t#0xf(:4|),r1" \
234         "divxs.b #0xf:4,r1"
235 gdb_test "x" "divxs.b\tr3h,r1" \
236         "divxs.b r3h,r1"
237 gdb_test "x" "divxs.w\t#0xf(:4|),er1" \
238         "divxs.w #0xf:4,er1"
239 gdb_test "x" "divxs.w\tr3,er1" \
240         "divxs.w r3,er1"
241 gdb_test "x" "mulu.w\t#0xf(:4|),r1" \
242         "mulu.w #0xf:4,r1"
243 gdb_test "x" "mulu.w\tr3,r1" \
244         "mulu.w r3,r1"
245 gdb_test "x" "mulu.l\t#0xf(:4|),er1" \
246         "mulu.l #0xf:4,er1"
247 gdb_test "x" "mulu.l\ter3,er1" \
248         "mulu.l er3,er1"
249 gdb_test "x" "mulu/u.l\t#0xf(:4|),er1" \
250         "mulu/u.l #0xf:4,er1"
251 gdb_test "x" "mulu/u.l\ter3,er1" \
252         "mulu/u.l er3,er1"
253 gdb_test "x" "muls.w\t#0xf(:4|),r1" \
254         "muls.w #0xf:4,r1"
255 gdb_test "x" "muls.w\tr3,r1" \
256         "muls.w r3,r1"
257 gdb_test "x" "muls.l\t#0xf(:4|),er1" \
258         "muls.l #0xf:4,er1"
259 gdb_test "x" "muls.l\ter3,er1" \
260         "muls.l er3,er1"
261 gdb_test "x" "muls/u.l\t#0xf(:4|),er1" \
262         "muls/u.l #0xf:4,er1"
263 gdb_test "x" "muls/u.l\ter3,er1" \
264         "muls/u.l er3,er1"
265 gdb_test "x" "divu.w\t#0xf(:4|),r1" \
266         "divu.w #0xf:4,r1"
267 gdb_test "x" "divu.w\tr3,r1" \
268         "divu.w r3,r1"
269 gdb_test "x" "divu.l\t#0xf(:4|),er1" \
270         "divu.l #0xf:4,er1"
271 gdb_test "x" "divu.l\ter3,er1" \
272         "divu.l er3,er1"
273 gdb_test "x" "divs.w\t#0xf(:4|),r1" \
274         "divs.w #0xf:4,r1"
275 gdb_test "x" "divs.w\tr3,r1" \
276         "divs.w r3,r1"
277 gdb_test "x" "divs.l\t#0xf(:4|),er1" \
278         "divs.l #0xf:4,er1"
279 gdb_test "x" "divs.l\ter3,er1" \
280         "divs.l er3,er1"