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
22if $tracelevel then {
23	strace $tracelevel
24}
25
26if ![istarget "h8300*-*-*"] {
27    verbose "Tests ignored for all but h8300s based targets."
28    return
29}
30
31set prms_id 0
32set bug_id 0
33
34set testfile "t02_mova"
35set srcfile ${srcdir}/${subdir}/${testfile}.s
36set objfile ${objdir}/${subdir}/${testfile}.o
37set binfile ${objdir}/${subdir}/${testfile}.x
38
39set asm-flags "";
40set link-flags "-m h8300sxelf";
41
42
43if {[target_assemble $srcfile $objfile "${asm-flags}"] != ""} then {
44     gdb_suppress_entire_file "Testcase assembly failed, so all tests in this file will automatically fail."
45}
46
47if {[target_link $objfile $binfile "${link-flags}"] != ""} then {
48     gdb_suppress_entire_file "Testcase link failed, so all tests in this file will automatically fail."
49}
50
51gdb_start
52gdb_reinitialize_dir $srcdir/$subdir
53gdb_load $binfile
54
55gdb_test "x /i _start" "mova/b.l\t@\\(0x1234(:16|),r3l.b\\),er1" \
56	"mova/b.c @(0x1234:16,r3l.b),er1"
57gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),r3.w\\),er1" \
58	"mova/b.c @(0x1234:16,r3.w),er1"
59gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),r3l.b\\),er1" \
60	"mova/w.c @(0x1234:16,r3l.b),er1"
61gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),r3.w\\),er1" \
62	"mova/w.c @(0x1234:16,r3.w),er1"
63gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),r3l.b\\),er1" \
64	"mova/l.c @(0x1234:16,r3l.b),er1"
65gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),r3.w\\),er1" \
66	"mova/l.c @(0x1234:16,r3.w),er1"
67gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),r3l.b\\),er1" \
68	"mova/b.c @(0x12345678:32,r3l.b),er1"
69gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),r3.w\\),er1" \
70	"mova/b.c @(0x12345678:32,r3.w),er1"
71gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),r3l.b\\),er1" \
72	"mova/w.c @(0x12345678:32,r3l.b),er1"
73gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),r3.w\\),er1" \
74	"mova/w.c @(0x12345678:32,r3.w),er1"
75gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),r3l.b\\),er1" \
76	"mova/l.c @(0x12345678:32,r3l.b),er1"
77gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),r3.w\\),er1" \
78	"mova/l.c @(0x12345678:32,r3.w),er1"
79gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),r3l.b\\),er1" \
80	"mova/b.l @(0x1234:16,r3l.b),er1"
81gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),r3.w\\),er1" \
82	"mova/b.l @(0x1234:16,r3.w),er1"
83gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),r3l.b\\),er1" \
84	"mova/w.l @(0x1234:16,r3l.b),er1"
85gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),r3.w\\),er1" \
86	"mova/w.l @(0x1234:16,r3.w),er1"
87gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),r3l.b\\),er1" \
88	"mova/l.l @(0x1234:16,r3l.b),er1"
89gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),r3.w\\),er1" \
90	"mova/l.l @(0x1234:16,r3.w),er1"
91gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),r3l.b\\),er1" \
92	"mova/b.l @(0x12345678:32,r3l.b),er1"
93gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),r3.w\\),er1" \
94	"mova/b.l @(0x12345678:32,r3.w),er1"
95gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),r3l.b\\),er1" \
96	"mova/w.l @(0x12345678:32,r3l.b),er1"
97gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),r3.w\\),er1" \
98	"mova/w.l @(0x12345678:32,r3.w),er1"
99gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),r3l.b\\),er1" \
100	"mova/l.l @(0x12345678:32,r3l.b),er1"
101gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),r3.w\\),er1" \
102	"mova/l.l @(0x12345678:32,r3.w),er1"
103gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@er2.b\\),er1" \
104	"mova/b.l @(0x1234:16,@er2.b),er1"
105gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@\\(0x1(:2|),er2\\).b\\),er1" \
106	"mova/b.l @(0x1234:16,@(0x1:2,er2).b),er1"
107gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@er2\\+.b\\),er1" \
108	"mova/b.l @(0x1234:16,@er2+.b),er1"
109gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@-er2.b\\),er1" \
110	"mova/b.l @(0x1234:16,@-er2.b),er1"
111gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@\\+er2.b\\),er1" \
112	"mova/b.l @(0x1234:16,@+er2.b),er1"
113gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@er2-.b\\),er1" \
114	"mova/b.l @(0x1234:16,@er2-.b),er1"
115gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),er2\\).b\\),er1" \
116	"mova/b.l @(0x1234:16,@(0x9abc:16,er2).b),er1"
117gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),er2\\).b\\),er1" \
118	"mova/b.l @(0x1234:16,@(0x9abcdef0:32,er2).b),er1"
119gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),r2l.b\\).b\\),er1" \
120	"mova/b.l @(0x1234:16,@(0x9abc:16,r2l.b).b),er1"
121gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),r2.w\\).b\\),er1" \
122	"mova/b.l @(0x1234:16,@(0x9abc:16,r2.w).b),er1"
123gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),er2.l\\).b\\),er1" \
124	"mova/b.l @(0x1234:16,@(0x9abc:16,er2.l).b),er1"
125gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),r2l.b\\).b\\),er1" \
126	"mova/b.l @(0x1234:16,@(0x9abcdef0:32,r2l.b).b),er1"
127gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),r2.w\\).b\\),er1" \
128	"mova/b.l @(0x1234:16,@(0x9abcdef0:32,r2.w).b),er1"
129gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),er2.l\\).b\\),er1" \
130	"mova/b.l @(0x1234:16,@(0x9abcdef0:32,er2.l).b),er1"
131gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@0x9abc(:16|).b\\),er1" \
132	"mova/b.l @(0x1234:16,@0x9abc:16.b),er1"
133gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@0x9abcdef0(:32|).b\\),er1" \
134	"mova/b.l @(0x1234:16,@0x9abcdef0:32.b),er1"
135gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@er2.w\\),er1" \
136	"mova/b.l @(0x1234:16,@er2.w),er1"
137gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@\\(0x2(:2|),er2\\).w\\),er1" \
138	"mova/b.l @(0x1234:16,@(0x2:2,er2).w),er1"
139gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@er2\\+.w\\),er1" \
140	"mova/b.l @(0x1234:16,@er2+.w),er1"
141gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@-er2.w\\),er1" \
142	"mova/b.l @(0x1234:16,@-er2.w),er1"
143gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@\\+er2.w\\),er1" \
144	"mova/b.l @(0x1234:16,@+er2.w),er1"
145gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@er2-.w\\),er1" \
146	"mova/b.l @(0x1234:16,@er2-.w),er1"
147gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),er2\\).w\\),er1" \
148	"mova/b.l @(0x1234:16,@(0x9abc:16,er2).w),er1"
149gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),er2\\).w\\),er1" \
150	"mova/b.l @(0x1234:16,@(0x9abcdef0:32,er2).w),er1"
151gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),r2l.b\\).w\\),er1" \
152	"mova/b.l @(0x1234:16,@(0x9abc:16,r2l.b).w),er1"
153gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),r2.w\\).w\\),er1" \
154	"mova/b.l @(0x1234:16,@(0x9abc:16,r2.w).w),er1"
155gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),er2.l\\).w\\),er1" \
156	"mova/b.l @(0x1234:16,@(0x9abc:16,er2.l).w),er1"
157gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),r2l.b\\).w\\),er1" \
158	"mova/b.l @(0x1234:16,@(0x9abcdef0:32,r2l.b).w),er1"
159gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),r2.w\\).w\\),er1" \
160	"mova/b.l @(0x1234:16,@(0x9abcdef0:32,r2.w).w),er1"
161gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),er2.l\\).w\\),er1" \
162	"mova/b.l @(0x1234:16,@(0x9abcdef0:32,er2.l).w),er1"
163gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@0x9abc(:16|).w\\),er1" \
164	"mova/b.l @(0x1234:16,@0x9abc:16.w),er1"
165gdb_test "x" "mova/b.l\t@\\(0x1234(:16|),@0x9abcdef0(:32|).w\\),er1" \
166	"mova/b.l @(0x1234:16,@0x9abcdef0:32.w),er1"
167gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@er2.b\\),er1" \
168	"mova/w.l @(0x1234:16,@er2.b),er1"
169gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@\\(0x1(:2|),er2\\).b\\),er1" \
170	"mova/w.l @(0x1234:16,@(0x1:2,er2).b),er1"
171gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@er2\\+.b\\),er1" \
172	"mova/w.l @(0x1234:16,@er2+.b),er1"
173gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@-er2.b\\),er1" \
174	"mova/w.l @(0x1234:16,@-er2.b),er1"
175gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@\\+er2.b\\),er1" \
176	"mova/w.l @(0x1234:16,@+er2.b),er1"
177gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@er2-.b\\),er1" \
178	"mova/w.l @(0x1234:16,@er2-.b),er1"
179gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),er2\\).b\\),er1" \
180	"mova/w.l @(0x1234:16,@(0x9abc:16,er2).b),er1"
181gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),er2\\).b\\),er1" \
182	"mova/w.l @(0x1234:16,@(0x9abcdef0:32,er2).b),er1"
183gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),r2l.b\\).b\\),er1" \
184	"mova/w.l @(0x1234:16,@(0x9abc:16,r2l.b).b),er1"
185gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),r2.w\\).b\\),er1" \
186	"mova/w.l @(0x1234:16,@(0x9abc:16,r2.w).b),er1"
187gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),er2.l\\).b\\),er1" \
188	"mova/w.l @(0x1234:16,@(0x9abc:16,er2.l).b),er1"
189gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),r2l.b\\).b\\),er1" \
190	"mova/w.l @(0x1234:16,@(0x9abcdef0:32,r2l.b).b),er1"
191gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),r2.w\\).b\\),er1" \
192	"mova/w.l @(0x1234:16,@(0x9abcdef0:32,r2.w).b),er1"
193gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),er2.l\\).b\\),er1" \
194	"mova/w.l @(0x1234:16,@(0x9abcdef0:32,er2.l).b),er1"
195gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@0x9abc(:16|).b\\),er1" \
196	"mova/w.l @(0x1234:16,@0x9abc:16.b),er1"
197gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@0x9abcdef0(:32|).b\\),er1" \
198	"mova/w.l @(0x1234:16,@0x9abcdef0:32.b),er1"
199gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@er2.w\\),er1" \
200	"mova/w.l @(0x1234:16,@er2.w),er1"
201gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@\\(0x2(:2|),er2\\).w\\),er1" \
202	"mova/w.l @(0x1234:16,@(0x2:2,er2).w),er1"
203gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@er2\\+.w\\),er1" \
204	"mova/w.l @(0x1234:16,@er2+.w),er1"
205gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@-er2.w\\),er1" \
206	"mova/w.l @(0x1234:16,@-er2.w),er1"
207gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@\\+er2.w\\),er1" \
208	"mova/w.l @(0x1234:16,@+er2.w),er1"
209gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@er2-.w\\),er1" \
210	"mova/w.l @(0x1234:16,@er2-.w),er1"
211gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),er2\\).w\\),er1" \
212	"mova/w.l @(0x1234:16,@(0x9abc:16,er2).w),er1"
213gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),er2\\).w\\),er1" \
214	"mova/w.l @(0x1234:16,@(0x9abcdef0:32,er2).w),er1"
215gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),r2l.b\\).w\\),er1" \
216	"mova/w.l @(0x1234:16,@(0x9abc:16,r2l.b).w),er1"
217gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),r2.w\\).w\\),er1" \
218	"mova/w.l @(0x1234:16,@(0x9abc:16,r2.w).w),er1"
219gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),er2.l\\).w\\),er1" \
220	"mova/w.l @(0x1234:16,@(0x9abc:16,er2.l).w),er1"
221gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),r2l.b\\).w\\),er1" \
222	"mova/w.l @(0x1234:16,@(0x9abcdef0:32,r2l.b).w),er1"
223gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),r2.w\\).w\\),er1" \
224	"mova/w.l @(0x1234:16,@(0x9abcdef0:32,r2.w).w),er1"
225gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),er2.l\\).w\\),er1" \
226	"mova/w.l @(0x1234:16,@(0x9abcdef0:32,er2.l).w),er1"
227gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@0x9abc(:16|).w\\),er1" \
228	"mova/w.l @(0x1234:16,@0x9abc:16.w),er1"
229gdb_test "x" "mova/w.l\t@\\(0x1234(:16|),@0x9abcdef0(:32|).w\\),er1" \
230	"mova/w.l @(0x1234:16,@0x9abcdef0:32.w),er1"
231gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@er2.b\\),er1" \
232	"mova/l.l @(0x1234:16,@er2.b),er1"
233gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@\\(0x1(:2|),er2\\).b\\),er1" \
234	"mova/l.l @(0x1234:16,@(0x1:2,er2).b),er1"
235gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@er2\\+.b\\),er1" \
236	"mova/l.l @(0x1234:16,@er2+.b),er1"
237gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@-er2.b\\),er1" \
238	"mova/l.l @(0x1234:16,@-er2.b),er1"
239gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@\\+er2.b\\),er1" \
240	"mova/l.l @(0x1234:16,@+er2.b),er1"
241gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@er2-.b\\),er1" \
242	"mova/l.l @(0x1234:16,@er2-.b),er1"
243gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),er2\\).b\\),er1" \
244	"mova/l.l @(0x1234:16,@(0x9abc:16,er2).b),er1"
245gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),er2\\).b\\),er1" \
246	"mova/l.l @(0x1234:16,@(0x9abcdef0:32,er2).b),er1"
247gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),r2l.b\\).b\\),er1" \
248	"mova/l.l @(0x1234:16,@(0x9abc:16,r2l.b).b),er1"
249gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),r2.w\\).b\\),er1" \
250	"mova/l.l @(0x1234:16,@(0x9abc:16,r2.w).b),er1"
251gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),er2.l\\).b\\),er1" \
252	"mova/l.l @(0x1234:16,@(0x9abc:16,er2.l).b),er1"
253gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),r2l.b\\).b\\),er1" \
254	"mova/l.l @(0x1234:16,@(0x9abcdef0:32,r2l.b).b),er1"
255gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),r2.w\\).b\\),er1" \
256	"mova/l.l @(0x1234:16,@(0x9abcdef0:32,r2.w).b),er1"
257gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),er2.l\\).b\\),er1" \
258	"mova/l.l @(0x1234:16,@(0x9abcdef0:32,er2.l).b),er1"
259gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@0x9abc(:16|).b\\),er1" \
260	"mova/l.l @(0x1234:16,@0x9abc:16.b),er1"
261gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@0x9abcdef0(:32|).b\\),er1" \
262	"mova/l.l @(0x1234:16,@0x9abcdef0:32.b),er1"
263gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@er2.w\\),er1" \
264	"mova/l.l @(0x1234:16,@er2.w),er1"
265gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@\\(0x2(:2|),er2\\).w\\),er1" \
266	"mova/l.l @(0x1234:16,@(0x2:2,er2).w),er1"
267gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@er2\\+.w\\),er1" \
268	"mova/l.l @(0x1234:16,@er2+.w),er1"
269gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@-er2.w\\),er1" \
270	"mova/l.l @(0x1234:16,@-er2.w),er1"
271gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@\\+er2.w\\),er1" \
272	"mova/l.l @(0x1234:16,@+er2.w),er1"
273gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@er2-.w\\),er1" \
274	"mova/l.l @(0x1234:16,@er2-.w),er1"
275gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),er2\\).w\\),er1" \
276	"mova/l.l @(0x1234:16,@(0x9abc:16,er2).w),er1"
277gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),er2\\).w\\),er1" \
278	"mova/l.l @(0x1234:16,@(0x9abcdef0:32,er2).w),er1"
279gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),r2l.b\\).w\\),er1" \
280	"mova/l.l @(0x1234:16,@(0x9abc:16,r2l.b).w),er1"
281gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),r2.w\\).w\\),er1" \
282	"mova/l.l @(0x1234:16,@(0x9abc:16,r2.w).w),er1"
283gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@\\(0x9abc(:16|),er2.l\\).w\\),er1" \
284	"mova/l.l @(0x1234:16,@(0x9abc:16,er2.l).w),er1"
285gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),r2l.b\\).w\\),er1" \
286	"mova/l.l @(0x1234:16,@(0x9abcdef0:32,r2l.b).w),er1"
287gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),r2.w\\).w\\),er1" \
288	"mova/l.l @(0x1234:16,@(0x9abcdef0:32,r2.w).w),er1"
289gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@\\(0x9abcdef0(:32|),er2.l\\).w\\),er1" \
290	"mova/l.l @(0x1234:16,@(0x9abcdef0:32,er2.l).w),er1"
291gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@0x9abc(:16|).w\\),er1" \
292	"mova/l.l @(0x1234:16,@0x9abc:16.w),er1"
293gdb_test "x" "mova/l.l\t@\\(0x1234(:16|),@0x9abcdef0(:32|).w\\),er1" \
294	"mova/l.l @(0x1234:16,@0x9abcdef0:32.w),er1"
295gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@er2.b\\),er1" \
296	"mova/b.l @(0x12345678:32,@er2.b),er1"
297gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@\\(0x1(:2|),er2\\).b\\),er1" \
298	"mova/b.l @(0x12345678:32,@(0x1:2,er2).b),er1"
299gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@er2\\+.b\\),er1" \
300	"mova/b.l @(0x12345678:32,@er2+.b),er1"
301gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@-er2.b\\),er1" \
302	"mova/b.l @(0x12345678:32,@-er2.b),er1"
303gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@\\+er2.b\\),er1" \
304	"mova/b.l @(0x12345678:32,@+er2.b),er1"
305gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@er2-.b\\),er1" \
306	"mova/b.l @(0x12345678:32,@er2-.b),er1"
307gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),er2\\).b\\),er1" \
308	"mova/b.l @(0x12345678:32,@(0x9abc:16,er2).b),er1"
309gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),er2\\).b\\),er1" \
310	"mova/b.l @(0x12345678:32,@(0x9abcdef0:32,er2).b),er1"
311gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),r2l.b\\).b\\),er1" \
312	"mova/b.l @(0x12345678:32,@(0x9abc:16,r2l.b).b),er1"
313gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),r2.w\\).b\\),er1" \
314	"mova/b.l @(0x12345678:32,@(0x9abc:16,r2.w).b),er1"
315gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),er2.l\\).b\\),er1" \
316	"mova/b.l @(0x12345678:32,@(0x9abc:16,er2.l).b),er1"
317gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),r2l.b\\).b\\),er1" \
318	"mova/b.l @(0x12345678:32,@(0x9abcdef0:32,r2l.b).b),er1"
319gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),r2.w\\).b\\),er1" \
320	"mova/b.l @(0x12345678:32,@(0x9abcdef0:32,r2.w).b),er1"
321gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),er2.l\\).b\\),er1" \
322	"mova/b.l @(0x12345678:32,@(0x9abcdef0:32,er2.l).b),er1"
323gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@0x9abc(:16|).b\\),er1" \
324	"mova/b.l @(0x12345678:32,@0x9abc:16.b),er1"
325gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@0x9abcdef0(:32|).b\\),er1" \
326	"mova/b.l @(0x12345678:32,@0x9abcdef0:32.b),er1"
327gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@er2.w\\),er1" \
328	"mova/b.l @(0x12345678:32,@er2.w),er1"
329gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@\\(0x2(:2|),er2\\).w\\),er1" \
330	"mova/b.l @(0x12345678:32,@(0x2:2,er2).w),er1"
331gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@er2\\+.w\\),er1" \
332	"mova/b.l @(0x12345678:32,@er2+.w),er1"
333gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@-er2.w\\),er1" \
334	"mova/b.l @(0x12345678:32,@-er2.w),er1"
335gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@\\+er2.w\\),er1" \
336	"mova/b.l @(0x12345678:32,@+er2.w),er1"
337gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@er2-.w\\),er1" \
338	"mova/b.l @(0x12345678:32,@er2-.w),er1"
339gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),er2\\).w\\),er1" \
340	"mova/b.l @(0x12345678:32,@(0x9abc:16,er2).w),er1"
341gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),er2\\).w\\),er1" \
342	"mova/b.l @(0x12345678:32,@(0x9abcdef0:32,er2).w),er1"
343gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),r2l.b\\).w\\),er1" \
344	"mova/b.l @(0x12345678:32,@(0x9abc:16,r2l.b).w),er1"
345gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),r2.w\\).w\\),er1" \
346	"mova/b.l @(0x12345678:32,@(0x9abc:16,r2.w).w),er1"
347gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),er2.l\\).w\\),er1" \
348	"mova/b.l @(0x12345678:32,@(0x9abc:16,er2.l).w),er1"
349gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),r2l.b\\).w\\),er1" \
350	"mova/b.l @(0x12345678:32,@(0x9abcdef0:32,r2l.b).w),er1"
351gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),r2.w\\).w\\),er1" \
352	"mova/b.l @(0x12345678:32,@(0x9abcdef0:32,r2.w).w),er1"
353gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),er2.l\\).w\\),er1" \
354	"mova/b.l @(0x12345678:32,@(0x9abcdef0:32,er2.l).w),er1"
355gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@0x9abc(:16|).w\\),er1" \
356	"mova/b.l @(0x12345678:32,@0x9abc:16.w),er1"
357gdb_test "x" "mova/b.l\t@\\(0x12345678(:32|),@0x9abcdef0(:32|).w\\),er1" \
358	"mova/b.l @(0x12345678:32,@0x9abcdef0:32.w),er1"
359gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@er2.b\\),er1" \
360	"mova/w.l @(0x12345678:32,@er2.b),er1"
361gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@\\(0x1(:2|),er2\\).b\\),er1" \
362	"mova/w.l @(0x12345678:32,@(0x1:2,er2).b),er1"
363gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@er2\\+.b\\),er1" \
364	"mova/w.l @(0x12345678:32,@er2+.b),er1"
365gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@-er2.b\\),er1" \
366	"mova/w.l @(0x12345678:32,@-er2.b),er1"
367gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@\\+er2.b\\),er1" \
368	"mova/w.l @(0x12345678:32,@+er2.b),er1"
369gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@er2-.b\\),er1" \
370	"mova/w.l @(0x12345678:32,@er2-.b),er1"
371gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),er2\\).b\\),er1" \
372	"mova/w.l @(0x12345678:32,@(0x9abc:16,er2).b),er1"
373gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),er2\\).b\\),er1" \
374	"mova/w.l @(0x12345678:32,@(0x9abcdef0:32,er2).b),er1"
375gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),r2l.b\\).b\\),er1" \
376	"mova/w.l @(0x12345678:32,@(0x9abc:16,r2l.b).b),er1"
377gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),r2.w\\).b\\),er1" \
378	"mova/w.l @(0x12345678:32,@(0x9abc:16,r2.w).b),er1"
379gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),er2.l\\).b\\),er1" \
380	"mova/w.l @(0x12345678:32,@(0x9abc:16,er2.l).b),er1"
381gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),r2l.b\\).b\\),er1" \
382	"mova/w.l @(0x12345678:32,@(0x9abcdef0:32,r2l.b).b),er1"
383gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),r2.w\\).b\\),er1" \
384	"mova/w.l @(0x12345678:32,@(0x9abcdef0:32,r2.w).b),er1"
385gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),er2.l\\).b\\),er1" \
386	"mova/w.l @(0x12345678:32,@(0x9abcdef0:32,er2.l).b),er1"
387gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@0x9abc(:16|).b\\),er1" \
388	"mova/w.l @(0x12345678:32,@0x9abc:16.b),er1"
389gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@0x9abcdef0(:32|).b\\),er1" \
390	"mova/w.l @(0x12345678:32,@0x9abcdef0:32.b),er1"
391gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@er2.w\\),er1" \
392	"mova/w.l @(0x12345678:32,@er2.w),er1"
393gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@\\(0x2(:2|),er2\\).w\\),er1" \
394	"mova/w.l @(0x12345678:32,@(0x2:2,er2).w),er1"
395gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@er2\\+.w\\),er1" \
396	"mova/w.l @(0x12345678:32,@er2+.w),er1"
397gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@-er2.w\\),er1" \
398	"mova/w.l @(0x12345678:32,@-er2.w),er1"
399gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@\\+er2.w\\),er1" \
400	"mova/w.l @(0x12345678:32,@+er2.w),er1"
401gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@er2-.w\\),er1" \
402	"mova/w.l @(0x12345678:32,@er2-.w),er1"
403gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),er2\\).w\\),er1" \
404	"mova/w.l @(0x12345678:32,@(0x9abc:16,er2).w),er1"
405gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),er2\\).w\\),er1" \
406	"mova/w.l @(0x12345678:32,@(0x9abcdef0:32,er2).w),er1"
407gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),r2l.b\\).w\\),er1" \
408	"mova/w.l @(0x12345678:32,@(0x9abc:16,r2l.b).w),er1"
409gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),r2.w\\).w\\),er1" \
410	"mova/w.l @(0x12345678:32,@(0x9abc:16,r2.w).w),er1"
411gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),er2.l\\).w\\),er1" \
412	"mova/w.l @(0x12345678:32,@(0x9abc:16,er2.l).w),er1"
413gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),r2l.b\\).w\\),er1" \
414	"mova/w.l @(0x12345678:32,@(0x9abcdef0:32,r2l.b).w),er1"
415gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),r2.w\\).w\\),er1" \
416	"mova/w.l @(0x12345678:32,@(0x9abcdef0:32,r2.w).w),er1"
417gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),er2.l\\).w\\),er1" \
418	"mova/w.l @(0x12345678:32,@(0x9abcdef0:32,er2.l).w),er1"
419gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@0x9abc(:16|).w\\),er1" \
420	"mova/w.l @(0x12345678:32,@0x9abc:16.w),er1"
421gdb_test "x" "mova/w.l\t@\\(0x12345678(:32|),@0x9abcdef0(:32|).w\\),er1" \
422	"mova/w.l @(0x12345678:32,@0x9abcdef0:32.w),er1"
423gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@er2.b\\),er1" \
424	"mova/l.l @(0x12345678:32,@er2.b),er1"
425gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@\\(0x1(:2|),er2\\).b\\),er1" \
426	"mova/l.l @(0x12345678:32,@(0x1:2,er2).b),er1"
427gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@er2\\+.b\\),er1" \
428	"mova/l.l @(0x12345678:32,@er2+.b),er1"
429gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@-er2.b\\),er1" \
430	"mova/l.l @(0x12345678:32,@-er2.b),er1"
431gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@\\+er2.b\\),er1" \
432	"mova/l.l @(0x12345678:32,@+er2.b),er1"
433gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@er2-.b\\),er1" \
434	"mova/l.l @(0x12345678:32,@er2-.b),er1"
435gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),er2\\).b\\),er1" \
436	"mova/l.l @(0x12345678:32,@(0x9abc:16,er2).b),er1"
437gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),er2\\).b\\),er1" \
438	"mova/l.l @(0x12345678:32,@(0x9abcdef0:32,er2).b),er1"
439gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),r2l.b\\).b\\),er1" \
440	"mova/l.l @(0x12345678:32,@(0x9abc:16,r2l.b).b),er1"
441gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),r2.w\\).b\\),er1" \
442	"mova/l.l @(0x12345678:32,@(0x9abc:16,r2.w).b),er1"
443gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),er2.l\\).b\\),er1" \
444	"mova/l.l @(0x12345678:32,@(0x9abc:16,er2.l).b),er1"
445gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),r2l.b\\).b\\),er1" \
446	"mova/l.l @(0x12345678:32,@(0x9abcdef0:32,r2l.b).b),er1"
447gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),r2.w\\).b\\),er1" \
448	"mova/l.l @(0x12345678:32,@(0x9abcdef0:32,r2.w).b),er1"
449gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),er2.l\\).b\\),er1" \
450	"mova/l.l @(0x12345678:32,@(0x9abcdef0:32,er2.l).b),er1"
451gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@0x9abc(:16|).b\\),er1" \
452	"mova/l.l @(0x12345678:32,@0x9abc:16.b),er1"
453gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@0x9abcdef0(:32|).b\\),er1" \
454	"mova/l.l @(0x12345678:32,@0x9abcdef0:32.b),er1"
455gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@er2.w\\),er1" \
456	"mova/l.l @(0x12345678:32,@er2.w),er1"
457gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@\\(0x2(:2|),er2\\).w\\),er1" \
458	"mova/l.l @(0x12345678:32,@(0x2:2,er2).w),er1"
459gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@er2\\+.w\\),er1" \
460	"mova/l.l @(0x12345678:32,@er2+.w),er1"
461gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@-er2.w\\),er1" \
462	"mova/l.l @(0x12345678:32,@-er2.w),er1"
463gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@\\+er2.w\\),er1" \
464	"mova/l.l @(0x12345678:32,@+er2.w),er1"
465gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@er2-.w\\),er1" \
466	"mova/l.l @(0x12345678:32,@er2-.w),er1"
467gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),er2\\).w\\),er1" \
468	"mova/l.l @(0x12345678:32,@(0x9abc:16,er2).w),er1"
469gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),er2\\).w\\),er1" \
470	"mova/l.l @(0x12345678:32,@(0x9abcdef0:32,er2).w),er1"
471gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),r2l.b\\).w\\),er1" \
472	"mova/l.l @(0x12345678:32,@(0x9abc:16,r2l.b).w),er1"
473gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),r2.w\\).w\\),er1" \
474	"mova/l.l @(0x12345678:32,@(0x9abc:16,r2.w).w),er1"
475gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@\\(0x9abc(:16|),er2.l\\).w\\),er1" \
476	"mova/l.l @(0x12345678:32,@(0x9abc:16,er2.l).w),er1"
477gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),r2l.b\\).w\\),er1" \
478	"mova/l.l @(0x12345678:32,@(0x9abcdef0:32,r2l.b).w),er1"
479gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),r2.w\\).w\\),er1" \
480	"mova/l.l @(0x12345678:32,@(0x9abcdef0:32,r2.w).w),er1"
481gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@\\(0x9abcdef0(:32|),er2.l\\).w\\),er1" \
482	"mova/l.l @(0x12345678:32,@(0x9abcdef0:32,er2.l).w),er1"
483gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@0x9abc(:16|).w\\),er1" \
484	"mova/l.l @(0x12345678:32,@0x9abc:16.w),er1"
485gdb_test "x" "mova/l.l\t@\\(0x12345678(:32|),@0x9abcdef0(:32|).w\\),er1" \
486	"mova/l.l @(0x12345678:32,@0x9abcdef0:32.w),er1"
487