]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gas/testsuite/gas/h8300/h8300-elf.exp
* gas/h8300/h8300.exp (do_h8300_cbranch): Remove invocation.
[thirdparty/binutils-gdb.git] / gas / testsuite / gas / h8300 / h8300-elf.exp
CommitLineData
f41e3528
JR
1#
2# Some H8/300 elf tests
3#
4proc do_h8300_cbranch {} {
5 set testname "cbranch.s: h8300 conditional branch tests"
6 set x 0
7
8 gas_start "cbranch.s" "-al"
9
10 # Check each instruction bit pattern to verify it got
11 # assembled correctly.
12 while 1 {
13 expect {
14 -re " +\[0-9\]+ 0000 40FE\[^\n\]*\n" { set x [expr $x+1] }
15 -re " +\[0-9\]+ 0002 40FC\[^\n\]*\n" { set x [expr $x+1] }
16 -re " +\[0-9\]+ 0004 41FA\[^\n\]*\n" { set x [expr $x+1] }
17 -re " +\[0-9\]+ 0006 41F8\[^\n\]*\n" { set x [expr $x+1] }
18 -re " +\[0-9\]+ 0008 42F6\[^\n\]*\n" { set x [expr $x+1] }
19 -re " +\[0-9\]+ 000a 43F4\[^\n\]*\n" { set x [expr $x+1] }
20 -re " +\[0-9\]+ 000c 44F2\[^\n\]*\n" { set x [expr $x+1] }
21 -re " +\[0-9\]+ 000e 44F0\[^\n\]*\n" { set x [expr $x+1] }
22 -re " +\[0-9\]+ 0010 45EE\[^\n\]*\n" { set x [expr $x+1] }
23 -re " +\[0-9\]+ 0012 45EC\[^\n\]*\n" { set x [expr $x+1] }
24 -re " +\[0-9\]+ 0014 46EA\[^\n\]*\n" { set x [expr $x+1] }
25 -re " +\[0-9\]+ 0016 47E8\[^\n\]*\n" { set x [expr $x+1] }
26 -re " +\[0-9\]+ 0018 48E6\[^\n\]*\n" { set x [expr $x+1] }
27 -re " +\[0-9\]+ 001a 49E4\[^\n\]*\n" { set x [expr $x+1] }
28 -re " +\[0-9\]+ 001c 4AE2\[^\n\]*\n" { set x [expr $x+1] }
29 -re " +\[0-9\]+ 001e 4BE0\[^\n\]*\n" { set x [expr $x+1] }
30 -re " +\[0-9\]+ 0020 4CDE\[^\n\]*\n" { set x [expr $x+1] }
31 -re " +\[0-9\]+ 0022 4DDC\[^\n\]*\n" { set x [expr $x+1] }
32 -re " +\[0-9\]+ 0024 4EDA\[^\n\]*\n" { set x [expr $x+1] }
33 -re " +\[0-9\]+ 0026 4FD8\[^\n\]*\n" { set x [expr $x+1] }
34 timeout { perror "timeout\n; break }
35 eof { break }
36 }
37 }
38
39 # This was intended to do any cleanup necessary. It kinda looks like it
40 # isn't needed, but just in case, please keep it in for now.
41 gas_finish
42
43 # Did we find what we were looking for? If not, flunk it.
44 if [expr $x == 20] then { pass $testname } else { fail $testname }
45}
46
47proc do_h8300_branch {} {
48 set testname "branch.s: h8300 branch tests"
49 set x 0
50
51 gas_start "branch-elf.s" "-al"
52
53 # Check each instruction bit pattern to verify it got
54 # assembled correctly.
55 while 1 {
56 expect {
57 -re " +\[0-9\]+ 0000 55FE\[^\n\]*\n" { set x [expr $x+1] }
58 -re " +\[0-9\]+ 0002 5A000000\[^\n\]*\n" { set x [expr $x+1] }
59 -re " +\[0-9\]+ 0006 5900\[^\n\]*\n" { set x [expr $x+1] }
60 -re " +\[0-9\]+ 0008 5B00\[^\n\]*\n" { set x [expr $x+1] }
61 -re " +\[0-9\]+ 000a 5E000000\[^\n\]*\n" { set x [expr $x+1] }
62 -re " +\[0-9\]+ 000e 5D00\[^\n\]*\n" { set x [expr $x+1] }
63 -re " +\[0-9\]+ 0010 5F00\[^\n\]*\n" { set x [expr $x+1] }
64 timeout { perror "timeout\n; break }
65 eof { break }
66 }
67 }
68
69 # This was intended to do any cleanup necessary. It kinda looks like it
70 # isn't needed, but just in case, please keep it in for now.
71 gas_finish
72
73 # Did we find what we were looking for? If not, flunk it.
74 if [expr $x == 7] then { pass $testname } else { fail $testname }
75}
76
77proc do_h8300h_cbranch {} {
78 set testname "cbranchh.s: h8300h conditional branch tests"
79 set x 0
80
81 gas_start "cbranchh.s" "-al"
82
83 # Check each instruction bit pattern to verify it got
84 # assembled correctly.
85 while 1 {
86 expect {
87 -re " +\[0-9\]+ 0000 40FE\[^\n\]*\n" { set x [expr $x+1] }
88 -re " +\[0-9\]+ 0002 40FC\[^\n\]*\n" { set x [expr $x+1] }
89 -re " +\[0-9\]+ 0004 41FA\[^\n\]*\n" { set x [expr $x+1] }
90 -re " +\[0-9\]+ 0006 41F8\[^\n\]*\n" { set x [expr $x+1] }
91 -re " +\[0-9\]+ 0008 42F6\[^\n\]*\n" { set x [expr $x+1] }
92 -re " +\[0-9\]+ 000a 43F4\[^\n\]*\n" { set x [expr $x+1] }
93 -re " +\[0-9\]+ 000c 44F2\[^\n\]*\n" { set x [expr $x+1] }
94 -re " +\[0-9\]+ 000e 44F0\[^\n\]*\n" { set x [expr $x+1] }
95 -re " +\[0-9\]+ 0010 45EE\[^\n\]*\n" { set x [expr $x+1] }
96 -re " +\[0-9\]+ 0012 45EC\[^\n\]*\n" { set x [expr $x+1] }
97 -re " +\[0-9\]+ 0014 46EA\[^\n\]*\n" { set x [expr $x+1] }
98 -re " +\[0-9\]+ 0016 47E8\[^\n\]*\n" { set x [expr $x+1] }
99 -re " +\[0-9\]+ 0018 48E6\[^\n\]*\n" { set x [expr $x+1] }
100 -re " +\[0-9\]+ 001a 49E4\[^\n\]*\n" { set x [expr $x+1] }
101 -re " +\[0-9\]+ 001c 4AE2\[^\n\]*\n" { set x [expr $x+1] }
102 -re " +\[0-9\]+ 001e 4BE0\[^\n\]*\n" { set x [expr $x+1] }
103 -re " +\[0-9\]+ 0020 4CDE\[^\n\]*\n" { set x [expr $x+1] }
104 -re " +\[0-9\]+ 0022 4DDC\[^\n\]*\n" { set x [expr $x+1] }
105 -re " +\[0-9\]+ 0024 4EDA\[^\n\]*\n" { set x [expr $x+1] }
106 -re " +\[0-9\]+ 0026 4FD8\[^\n\]*\n" { set x [expr $x+1] }
107 -re " +\[0-9\]+ 0028 5800FFD4\[^\n\]*\n" { set x [expr $x+1] }
108 -re " +\[0-9\]+ 002c 5800FFD0\[^\n\]*\n" { set x [expr $x+1] }
109 -re " +\[0-9\]+ 0030 5810FFCC\[^\n\]*\n" { set x [expr $x+1] }
110 -re " +\[0-9\]+ 0034 5810FFC8\[^\n\]*\n" { set x [expr $x+1] }
111 -re " +\[0-9\]+ 0038 5820FFC4\[^\n\]*\n" { set x [expr $x+1] }
112 -re " +\[0-9\]+ 003c 5830FFC0\[^\n\]*\n" { set x [expr $x+1] }
113 -re " +\[0-9\]+ 0040 5840FFBC\[^\n\]*\n" { set x [expr $x+1] }
114 -re " +\[0-9\]+ 0044 5840FFB8\[^\n\]*\n" { set x [expr $x+1] }
115 -re " +\[0-9\]+ 0048 5850FFB4\[^\n\]*\n" { set x [expr $x+1] }
116 -re " +\[0-9\]+ 004c 5850FFB0\[^\n\]*\n" { set x [expr $x+1] }
117 -re " +\[0-9\]+ 0050 5860FFAC\[^\n\]*\n" { set x [expr $x+1] }
118 -re " +\[0-9\]+ 0054 5870FFA8\[^\n\]*\n" { set x [expr $x+1] }
119 -re " +\[0-9\]+ 0058 5880FFA4\[^\n\]*\n" { set x [expr $x+1] }
120 -re " +\[0-9\]+ 005c 5890FFA0\[^\n\]*\n" { set x [expr $x+1] }
121 -re " +\[0-9\]+ 0060 58A0FF9C\[^\n\]*\n" { set x [expr $x+1] }
122 -re " +\[0-9\]+ 0064 58B0FF98\[^\n\]*\n" { set x [expr $x+1] }
123 -re " +\[0-9\]+ 0068 58C0FF94\[^\n\]*\n" { set x [expr $x+1] }
124 -re " +\[0-9\]+ 006c 58D0FF90\[^\n\]*\n" { set x [expr $x+1] }
125 -re " +\[0-9\]+ 0070 58E0FF8C\[^\n\]*\n" { set x [expr $x+1] }
126 -re " +\[0-9\]+ 0074 58F0FF88\[^\n\]*\n" { set x [expr $x+1] }
127 timeout { perror "timeout\n; break }
128 eof { break }
129 }
130 }
131
132 # This was intended to do any cleanup necessary. It kinda looks like it
133 # isn't needed, but just in case, please keep it in for now.
134 gas_finish
135
136 # Did we find what we were looking for? If not, flunk it.
137 if [expr $x == 40] then { pass $testname } else { fail $testname }
138}
139
140proc do_h8300h_branch {} {
141 set testname "branchh.s: h8300h branch tests"
142 set x 0
143
144 gas_start "branchh-elf.s" "-al"
145
146 # Check each instruction bit pattern to verify it got
147 # assembled correctly.
148 while 1 {
149 expect {
150 -re " +\[0-9\]+ 0000 55FE\[^\n\]*\n" { set x [expr $x+1] }
151 -re " +\[0-9\]+ 0002 5C00FFFA\[^\n\]*\n" { set x [expr $x+1] }
152 -re " +\[0-9\]+ 0006 5A000000\[^\n\]*\n" { set x [expr $x+1] }
153 -re " +\[0-9\]+ 000a 5900\[^\n\]*\n" { set x [expr $x+1] }
154 -re " +\[0-9\]+ 000c 5B10\[^\n\]*\n" { set x [expr $x+1] }
155 -re " +\[0-9\]+ 000e 5E000000\[^\n\]*\n" { set x [expr $x+1] }
156 -re " +\[0-9\]+ 0012 5D00\[^\n\]*\n" { set x [expr $x+1] }
157 -re " +\[0-9\]+ 0014 5F10\[^\n\]*\n" { set x [expr $x+1] }
158 timeout { perror "timeout\n; break }
159 eof { break }
160 }
161 }
162
163 # This was intended to do any cleanup necessary. It kinda looks like it
164 # isn't needed, but just in case, please keep it in for now.
165 gas_finish
166
167 # Did we find what we were looking for? If not, flunk it.
168 if [expr $x == 8] then { pass $testname } else { fail $testname }
169}
170
171proc do_h8300s_cbranch {} {
172 set testname "cbranchs.s: h8300s conditional branch tests"
173 set x 0
174
175 gas_start "cbranchs.s" "-al"
176
177 # Check each instruction bit pattern to verify it got
178 # assembled correctly.
179 while 1 {
180 expect {
181 -re " +\[0-9\]+ 0000 40FE\[^\n\]*\n" { set x [expr $x+1] }
182 -re " +\[0-9\]+ 0002 40FC\[^\n\]*\n" { set x [expr $x+1] }
183 -re " +\[0-9\]+ 0004 41FA\[^\n\]*\n" { set x [expr $x+1] }
184 -re " +\[0-9\]+ 0006 41F8\[^\n\]*\n" { set x [expr $x+1] }
185 -re " +\[0-9\]+ 0008 42F6\[^\n\]*\n" { set x [expr $x+1] }
186 -re " +\[0-9\]+ 000a 43F4\[^\n\]*\n" { set x [expr $x+1] }
187 -re " +\[0-9\]+ 000c 44F2\[^\n\]*\n" { set x [expr $x+1] }
188 -re " +\[0-9\]+ 000e 44F0\[^\n\]*\n" { set x [expr $x+1] }
189 -re " +\[0-9\]+ 0010 45EE\[^\n\]*\n" { set x [expr $x+1] }
190 -re " +\[0-9\]+ 0012 45EC\[^\n\]*\n" { set x [expr $x+1] }
191 -re " +\[0-9\]+ 0014 46EA\[^\n\]*\n" { set x [expr $x+1] }
192 -re " +\[0-9\]+ 0016 47E8\[^\n\]*\n" { set x [expr $x+1] }
193 -re " +\[0-9\]+ 0018 48E6\[^\n\]*\n" { set x [expr $x+1] }
194 -re " +\[0-9\]+ 001a 49E4\[^\n\]*\n" { set x [expr $x+1] }
195 -re " +\[0-9\]+ 001c 4AE2\[^\n\]*\n" { set x [expr $x+1] }
196 -re " +\[0-9\]+ 001e 4BE0\[^\n\]*\n" { set x [expr $x+1] }
197 -re " +\[0-9\]+ 0020 4CDE\[^\n\]*\n" { set x [expr $x+1] }
198 -re " +\[0-9\]+ 0022 4DDC\[^\n\]*\n" { set x [expr $x+1] }
199 -re " +\[0-9\]+ 0024 4EDA\[^\n\]*\n" { set x [expr $x+1] }
200 -re " +\[0-9\]+ 0026 4FD8\[^\n\]*\n" { set x [expr $x+1] }
201 -re " +\[0-9\]+ 0028 5800FFD4\[^\n\]*\n" { set x [expr $x+1] }
202 -re " +\[0-9\]+ 002c 5800FFD0\[^\n\]*\n" { set x [expr $x+1] }
203 -re " +\[0-9\]+ 0030 5810FFCC\[^\n\]*\n" { set x [expr $x+1] }
204 -re " +\[0-9\]+ 0034 5810FFC8\[^\n\]*\n" { set x [expr $x+1] }
205 -re " +\[0-9\]+ 0038 5820FFC4\[^\n\]*\n" { set x [expr $x+1] }
206 -re " +\[0-9\]+ 003c 5830FFC0\[^\n\]*\n" { set x [expr $x+1] }
207 -re " +\[0-9\]+ 0040 5840FFBC\[^\n\]*\n" { set x [expr $x+1] }
208 -re " +\[0-9\]+ 0044 5840FFB8\[^\n\]*\n" { set x [expr $x+1] }
209 -re " +\[0-9\]+ 0048 5850FFB4\[^\n\]*\n" { set x [expr $x+1] }
210 -re " +\[0-9\]+ 004c 5850FFB0\[^\n\]*\n" { set x [expr $x+1] }
211 -re " +\[0-9\]+ 0050 5860FFAC\[^\n\]*\n" { set x [expr $x+1] }
212 -re " +\[0-9\]+ 0054 5870FFA8\[^\n\]*\n" { set x [expr $x+1] }
213 -re " +\[0-9\]+ 0058 5880FFA4\[^\n\]*\n" { set x [expr $x+1] }
214 -re " +\[0-9\]+ 005c 5890FFA0\[^\n\]*\n" { set x [expr $x+1] }
215 -re " +\[0-9\]+ 0060 58A0FF9C\[^\n\]*\n" { set x [expr $x+1] }
216 -re " +\[0-9\]+ 0064 58B0FF98\[^\n\]*\n" { set x [expr $x+1] }
217 -re " +\[0-9\]+ 0068 58C0FF94\[^\n\]*\n" { set x [expr $x+1] }
218 -re " +\[0-9\]+ 006c 58D0FF90\[^\n\]*\n" { set x [expr $x+1] }
219 -re " +\[0-9\]+ 0070 58E0FF8C\[^\n\]*\n" { set x [expr $x+1] }
220 -re " +\[0-9\]+ 0074 58F0FF88\[^\n\]*\n" { set x [expr $x+1] }
221 timeout { perror "timeout\n; break }
222 eof { break }
223 }
224 }
225
226 # This was intended to do any cleanup necessary. It kinda looks like it
227 # isn't needed, but just in case, please keep it in for now.
228 gas_finish
229
230 # Did we find what we were looking for? If not, flunk it.
231 if [expr $x == 40] then { pass $testname } else { fail $testname }
232}
233
234proc do_h8300s_branch {} {
235 set testname "branchs.s: h8300s branch tests"
236 set x 0
237
238 gas_start "branchs-elf.s" "-al"
239
240 # Check each instruction bit pattern to verify it got
241 # assembled correctly.
242 while 1 {
243 expect {
244 -re " +\[0-9\]+ 0000 55FE\[^\n\]*\n" { set x [expr $x+1] }
245 -re " +\[0-9\]+ 0002 5C00FFFA\[^\n\]*\n" { set x [expr $x+1] }
246 -re " +\[0-9\]+ 0006 5A000000\[^\n\]*\n" { set x [expr $x+1] }
247 -re " +\[0-9\]+ 000a 5900\[^\n\]*\n" { set x [expr $x+1] }
248 -re " +\[0-9\]+ 000c 5B10\[^\n\]*\n" { set x [expr $x+1] }
249 -re " +\[0-9\]+ 000e 5E000000\[^\n\]*\n" { set x [expr $x+1] }
250 -re " +\[0-9\]+ 0012 5D00\[^\n\]*\n" { set x [expr $x+1] }
251 -re " +\[0-9\]+ 0014 5F10\[^\n\]*\n" { set x [expr $x+1] }
252 timeout { perror "timeout\n; break }
253 eof { break }
254 }
255 }
256
257 # This was intended to do any cleanup necessary. It kinda looks like it
258 # isn't needed, but just in case, please keep it in for now.
259 gas_finish
260
261 # Did we find what we were looking for? If not, flunk it.
262 if [expr $x == 8] then { pass $testname } else { fail $testname }
263}
264
265if [istarget h8300*-*-elf] then {
266 # Test the basic h8300 instruction parser
267 do_h8300_cbranch
268 do_h8300_branch
269
270 # Now test the h8300h instruction parser
271 do_h8300h_cbranch
272 do_h8300h_branch
273
274 # Now test the h8300s instruction parser
275 do_h8300s_cbranch
276 do_h8300s_branch
277
278 # Now some random tests
279 run_dump_test "ffxx1-elf"
280}