OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-6.8/] [sim/] [testsuite/] [sim/] [h8300/] [mova.s] - Blame information for rev 827

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 24 jeremybenn
# Hitachi H8 testcase 'mova'
2
# mach(): h8sx
3
# as(h8300):    --defsym sim_cpu=0
4
# as(h8300h):   --defsym sim_cpu=1
5
# as(h8300s):   --defsym sim_cpu=2
6
# as(h8sx):     --defsym sim_cpu=3
7
# ld(h8300h):   -m h8300helf
8
# ld(h8300s):   -m h8300self
9
# ld(h8sx):     -m h8300sxelf
10
 
11
        .include "testutils.inc"
12
 
13
        .data
14
foo:    .long   0x01010101
15
        .long   0x10101010
16
        .long   0x11111111
17
 
18
        start
19
 
20
movabl16_reg8:
21
        set_grs_a5a5
22
        set_ccr_zero
23
 
24
        mova/b.l        @(1:16, r2l.b), er3
25
 
26
        test_cc_clear
27
        test_gr_a5a5    0        ; Make sure other regs not affected
28
        test_gr_a5a5    1
29
        test_gr_a5a5    2
30
        test_h_gr32     0xa6 er3
31
        test_gr_a5a5    4
32
        test_gr_a5a5    5
33
        test_gr_a5a5    6
34
        test_gr_a5a5    7
35
 
36
movabl16_reg16:
37
        set_grs_a5a5
38
        set_ccr_zero
39
 
40
        mova/b.l        @(1:16, r2.w), er3
41
 
42
        test_cc_clear
43
        test_gr_a5a5    0        ; Make sure other regs not affected
44
        test_gr_a5a5    1
45
        test_gr_a5a5    2
46
        test_h_gr32     0xa5a6 er3
47
        test_gr_a5a5    4
48
        test_gr_a5a5    5
49
        test_gr_a5a5    6
50
        test_gr_a5a5    7
51
 
52
movabl32_reg8:
53
        set_grs_a5a5
54
        set_ccr_zero
55
 
56
        mova/b.l        @(1:32, r2l.b), er3
57
 
58
        test_cc_clear
59
        test_gr_a5a5    0        ; Make sure other regs not affected
60
        test_gr_a5a5    1
61
        test_gr_a5a5    2
62
        test_h_gr32     0xa6 er3
63
        test_gr_a5a5    4
64
        test_gr_a5a5    5
65
        test_gr_a5a5    6
66
        test_gr_a5a5    7
67
 
68
movabl32_reg16:
69
        set_grs_a5a5
70
        set_ccr_zero
71
 
72
        mova/b.l        @(1:32, r2.w), er3
73
 
74
        test_cc_clear
75
        test_gr_a5a5    0        ; Make sure other regs not affected
76
        test_gr_a5a5    1
77
        test_gr_a5a5    2
78
        test_h_gr32     0xa5a6 er3
79
        test_gr_a5a5    4
80
        test_gr_a5a5    5
81
        test_gr_a5a5    6
82
        test_gr_a5a5    7
83
 
84
movawl16_reg8:
85
        set_grs_a5a5
86
        set_ccr_zero
87
 
88
        mova/w.l        @(1:16, r2l.b), er3
89
 
90
        test_cc_clear
91
        test_gr_a5a5    0        ; Make sure other regs not affected
92
        test_gr_a5a5    1
93
        test_gr_a5a5    2
94
        test_h_gr32     0x14b er3
95
        test_gr_a5a5    4
96
        test_gr_a5a5    5
97
        test_gr_a5a5    6
98
        test_gr_a5a5    7
99
 
100
movawl16_reg16:
101
        set_grs_a5a5
102
        set_ccr_zero
103
 
104
        mova/w.l        @(1:16, r2.w), er3
105
 
106
        test_cc_clear
107
        test_gr_a5a5    0        ; Make sure other regs not affected
108
        test_gr_a5a5    1
109
        test_gr_a5a5    2
110
        test_h_gr32     0x14b4b er3
111
        test_gr_a5a5    4
112
        test_gr_a5a5    5
113
        test_gr_a5a5    6
114
        test_gr_a5a5    7
115
 
116
movawl32_reg8:
117
        set_grs_a5a5
118
        set_ccr_zero
119
 
120
        mova/w.l        @(1:32, r2l.b), er3
121
 
122
        test_cc_clear
123
        test_gr_a5a5    0        ; Make sure other regs not affected
124
        test_gr_a5a5    1
125
        test_gr_a5a5    2
126
        test_h_gr32     0x14b er3
127
        test_gr_a5a5    4
128
        test_gr_a5a5    5
129
        test_gr_a5a5    6
130
        test_gr_a5a5    7
131
 
132
movawl32_reg16:
133
        set_grs_a5a5
134
        set_ccr_zero
135
 
136
        mova/w.l        @(1:32, r2.w), er3
137
 
138
        test_cc_clear
139
        test_gr_a5a5    0        ; Make sure other regs not affected
140
        test_gr_a5a5    1
141
        test_gr_a5a5    2
142
        test_h_gr32     0x14b4b er3
143
        test_gr_a5a5    4
144
        test_gr_a5a5    5
145
        test_gr_a5a5    6
146
        test_gr_a5a5    7
147
 
148
movall16_reg8:
149
        set_grs_a5a5
150
        set_ccr_zero
151
 
152
        mova/l.l        @(1:16, r2l.b), er3
153
 
154
        test_cc_clear
155
        test_gr_a5a5    0        ; Make sure other regs not affected
156
        test_gr_a5a5    1
157
        test_gr_a5a5    2
158
        test_h_gr32     0x295 er3
159
        test_gr_a5a5    4
160
        test_gr_a5a5    5
161
        test_gr_a5a5    6
162
        test_gr_a5a5    7
163
 
164
movall16_reg16:
165
        set_grs_a5a5
166
        set_ccr_zero
167
 
168
        mova/l.l        @(1:16, r2.w), er3
169
 
170
        test_cc_clear
171
        test_gr_a5a5    0        ; Make sure other regs not affected
172
        test_gr_a5a5    1
173
        test_gr_a5a5    2
174
        test_h_gr32     0x29695 er3
175
        test_gr_a5a5    4
176
        test_gr_a5a5    5
177
        test_gr_a5a5    6
178
        test_gr_a5a5    7
179
 
180
movall32_reg8:
181
        set_grs_a5a5
182
        set_ccr_zero
183
 
184
        mova/l.l        @(1:32, r2l.b), er3
185
 
186
        test_cc_clear
187
        test_gr_a5a5    0        ; Make sure other regs not affected
188
        test_gr_a5a5    1
189
        test_gr_a5a5    2
190
        test_h_gr32     0x295 er3
191
        test_gr_a5a5    4
192
        test_gr_a5a5    5
193
        test_gr_a5a5    6
194
        test_gr_a5a5    7
195
 
196
movall32_reg16:
197
        set_grs_a5a5
198
        set_ccr_zero
199
 
200
        mova/l.l        @(1:32, r2.w), er3
201
 
202
        test_cc_clear
203
        test_gr_a5a5    0        ; Make sure other regs not affected
204
        test_gr_a5a5    1
205
        test_gr_a5a5    2
206
        test_h_gr32     0x29695 er3
207
        test_gr_a5a5    4
208
        test_gr_a5a5    5
209
        test_gr_a5a5    6
210
        test_gr_a5a5    7
211
 
212
t02_mova:
213
        set_grs_a5a5
214
        set_ccr_zero
215
 
216
        mov.l   #0x01010101, er1
217
        mova/b.c @(0x1234:16,r1l.b),er1 ; 7A891234
218
        test_h_gr32     0x1235, er1 ; 1s
219
        mov.l   #0x01010101, er1
220
        mova/b.c @(0x1234:16,r1.w),er1 ; 7A991234
221
        test_h_gr32     0x1335, er1 ; 2s
222
        mov.l   #0x01010101, er1
223
        mova/w.c @(0x1234:16,r1l.b),er1 ; 7AA91234
224
        test_h_gr32     0x1236, er1 ; 3s
225
        mov.l   #0x01010101, er1
226
        mova/w.c @(0x1234:16,r1.w),er1 ; 7AB91234
227
        test_h_gr32     0x1436, er1 ; 4s
228
        mov.l   #0x01010101, er1
229
        mova/l.c @(0x1234:16,r1l.b),er1 ; 7AC91234
230
        test_h_gr32     0x1238, er1 ; 5s
231
        mov.l   #0x01010101, er1
232
        mova/l.c @(0x1234:16,r1.w),er1 ; 7AD91234
233
        test_h_gr32     0x1638, er1 ; 6s
234
        mov.l   #0x01010101, er1
235
        mova/b.c @(0x12345678:32,r1l.b),er1 ; 7A8112345678
236
        test_h_gr32     0x12345679, er1 ; 7s
237
        mov.l   #0x01010101, er1
238
        mova/b.c @(0x12345678:32,r1.w),er1 ; 7A9112345678
239
        test_h_gr32     0x12345779, er1 ; 8s
240
        mov.l   #0x01010101, er1
241
        mova/w.c @(0x12345678:32,r1l.b),er1 ; 7AA112345678
242
        test_h_gr32     0x1234567a, er1 ; 9s
243
        mov.l   #0x01010101, er1
244
        mova/w.c @(0x12345678:32,r1.w),er1 ; 7AB112345678
245
        test_h_gr32     0x1234587a, er1 ; 10s
246
        mov.l   #0x01010101, er1
247
        mova/l.c @(0x12345678:32,r1l.b),er1 ; 7AC112345678
248
        test_h_gr32     0x1234567c, er1 ; 11s
249
        mov.l   #0x01010101, er1
250
        mova/l.c @(0x12345678:32,r1.w),er1 ; 7AD112345678
251
        test_h_gr32     0x12345a7c, er1 ; 12s
252
 
253
t02b:
254
        mov.l   #0x01010101, er3
255
        mova/b.l @(0x1234:16,r3l.b),er1 ; 78B87A891234
256
        test_h_gr32     0x1235, er1 ; 1
257
        mova/b.l @(0x1234:16,r3.w),er1 ; 78397A991234
258
        test_h_gr32     0x1335, er1 ; 2
259
        mova/w.l @(0x1234:16,r3l.b),er1 ; 78B87AA91234
260
        test_h_gr32     0x1236, er1 ; 3
261
        mova/w.l @(0x1234:16,r3.w),er1 ; 78397AB91234
262
        test_h_gr32     0x1436, er1 ; 4
263
        mova/l.l @(0x1234:16,r3l.b),er1 ; 78B87AC91234
264
        test_h_gr32     0x1238, er1 ; 5
265
        mova/l.l @(0x1234:16,r3.w),er1 ; 78397AD91234
266
        test_h_gr32     0x1638, er1 ; 6
267
        mova/b.l @(0x12345678:32,r3l.b),er1 ; 78B87A8112345678
268
        test_h_gr32     0x12345679, er1 ; 7
269
        mova/b.l @(0x12345678:32,r3.w),er1 ; 78397A9112345678
270
        test_h_gr32     0x12345779, er1 ; 8
271
        mova/w.l @(0x12345678:32,r3l.b),er1 ; 78B87AA112345678
272
        test_h_gr32     0x1234567a, er1 ; 9
273
        mova/w.l @(0x12345678:32,r3.w),er1 ; 78397AB112345678
274
        test_h_gr32     0x1234587a, er1 ; 10
275
        mova/l.l @(0x12345678:32,r3l.b),er1 ; 78B87AC112345678
276
        test_h_gr32     0x1234567c, er1 ; 11
277
        mova/l.l @(0x12345678:32,r3.w),er1 ; 78397AD112345678
278
        test_h_gr32     0x12345a7c, er1 ; 12
279
        test_h_gr32     0x01010101, er3
280
t02c:
281
        mov.l   #foo, er2
282
        mova/b.l @(0x1234:16,@er2.b),er1              ;017F02811234
283
        test_h_gr32     0x1235, er1 ; 13
284
        test_h_gr32     foo, er2
285
        mova/b.l @(0x1234:16,@(0x1:2,er2).b),er1       ;017F12811234
286
        test_h_gr32     0x1235, er1 ; 18
287
        test_h_gr32     foo, er2
288
        mova/b.l @(0x1234:16,@er2+.b),er1             ;017F82811234
289
        test_h_gr32     0x1235, er1 ; 14
290
        test_h_gr32     foo+1, er2
291
        mova/b.l @(0x1234:16,@-er2.b),er1             ;017FB2811234
292
        test_h_gr32     0x1235, er1 ; 17
293
        test_h_gr32     foo, er2
294
        mova/b.l @(0x1234:16,@+er2.b),er1             ;017F92811234
295
        test_h_gr32     0x1235, er1 ; 16
296
        test_h_gr32     foo+1, er2
297
        mova/b.l @(0x1234:16,@er2-.b),er1             ;017FA2811234
298
        test_h_gr32     0x1235, er1 ; 15
299
        test_h_gr32     foo, er2
300
t02d:
301
        mov.l   #4, er2
302
        mova/b.l @(0x1234:16, @(foo:16, er2).b), er1
303
        test_h_gr32     0x1244, er1 ; 19
304
        mova/b.l @(0x1234:16, @(foo:16, r2L.b).b), er1
305
        test_h_gr32     0x1244, er1 ; 21
306
        mova/b.l @(0x1234:16, @(foo:16, r2.w).b), er1
307
        test_h_gr32     0x1244, er1 ; 22
308
        mova/b.l @(0x1234:16, @(foo:16, er2.l).b), er1
309
        test_h_gr32     0x1244, er1 ; 23
310
 
311
        mov.l   #4, er2
312
        mova/b.l @(0x1234:16, @(foo:32, er2).b), er1
313
        test_h_gr32     0x1244, er1 ; 20
314
        mova/b.l @(0x1234:16, @(foo:32, r2L.b).b), er1
315
        test_h_gr32     0x1244, er1 ; 24
316
        mova/b.l @(0x1234:16, @(foo:32, r2.w).b), er1
317
        test_h_gr32     0x1244, er1 ; 25
318
        mova/b.l @(0x1234:16, @(foo:32, er2.l).b), er1
319
        test_h_gr32     0x1244, er1 ; 26
320
 
321
        mova/b.l @(0x1234:16,@foo:16.b),er1
322
        test_h_gr32     0x1235, er1 ; 27
323
        mova/b.l @(0x1234:16,@foo:32.b),er1
324
        test_h_gr32     0x1235, er1 ; 28
325
 
326
t02e:
327
        mov.l   #foo, er2
328
        mova/b.l @(0x1234:16,@er2.w),er1              ;015F02911234
329
        test_h_gr32     0x1335, er1 ; 29
330
        test_h_gr32     foo, er2
331
        mova/b.l @(0x1234:16,@(0x2:2,er2).w),er1    ;015F12911234
332
        test_h_gr32     0x1335, er1 ; 34
333
        test_h_gr32     foo, er2
334
        mova/b.l @(0x1234:16,@er2+.w),er1             ;015F82911234
335
        test_h_gr32     0x1335, er1 ; 30
336
        test_h_gr32     foo+2, er2
337
        mova/b.l @(0x1234:16,@-er2.w),er1             ;015FB2911234
338
        test_h_gr32     0x1335, er1 ; 33
339
        test_h_gr32     foo, er2
340
        mova/b.l @(0x1234:16,@+er2.w),er1             ;015F92911234
341
        test_h_gr32     0x1335, er1 ; 32
342
        test_h_gr32     foo+2, er2
343
        mova/b.l @(0x1234:16,@er2-.w),er1             ;015FA2911234
344
        test_h_gr32     0x1335, er1 ; 31
345
        test_h_gr32     foo, er2
346
 
347
        mov.l   #4, er2
348
        mova/b.l @(0x1234:16, @(foo:16, er2).w), er1
349
        test_h_gr32     0x2244, er1 ; 35
350
        shar.l  er2
351
        mova/b.l @(0x1234:16, @(foo:16, r2L.b).w), er1
352
        test_h_gr32     0x2244, er1 ; 37
353
        mova/b.l @(0x1234:16, @(foo:16, r2.w).w), er1
354
        test_h_gr32     0x2244, er1 ; 38
355
        mova/b.l @(0x1234:16, @(foo:16, er2.l).w), er1
356
        test_h_gr32     0x2244, er1 ; 39
357
 
358
        mov.l   #4, er2
359
        mova/b.l @(0x1234:16, @(foo:32, er2).w), er1
360
        test_h_gr32     0x2244, er1 ; 36
361
        shar.l  er2
362
        mova/b.l @(0x1234:16, @(foo:32, r2L.b).w), er1
363
        test_h_gr32     0x2244, er1 ; 40
364
        mova/b.l @(0x1234:16, @(foo:32, r2.w).w), er1
365
        test_h_gr32     0x2244, er1 ; 41
366
        mova/b.l @(0x1234:16, @(foo:32, er2.l).w), er1
367
        test_h_gr32     0x2244, er1 ; 42
368
 
369
        mova/b.l @(0x1234:16,@foo:16.w),er1        ;015F40919ABC1234
370
        test_h_gr32     0x1335, er1 ; 43
371
        mova/b.l @(0x1234:16,@foo:32.w),er1        ;015F48919ABCDEF01234
372
        test_h_gr32     0x1335, er1 ; 44
373
 
374
t02f:
375
        mov.l   #foo, er2
376
        mova/w.l @(0x1234:16,@er2.b),er1           ;017F02A11234
377
        test_h_gr32     0x1236, er1 ; 45
378
        mova/w.l @(0x1234:16,@(0x1:2,er2).b),er1    ;017F12A11234
379
        test_h_gr32     0x1236, er1 ; 50
380
        mova/w.l @(0x1234:16,@er2+.b),er1          ;017F82A11234
381
        test_h_gr32     0x1236, er1 ; 46
382
        test_h_gr32     foo+1, er2
383
        mova/w.l @(0x1234:16,@-er2.b),er1          ;017FB2A11234
384
        test_h_gr32     0x1236, er1 ; 49
385
        test_h_gr32     foo, er2
386
        mova/w.l @(0x1234:16,@+er2.b),er1          ;017F92A11234
387
        test_h_gr32     0x1236, er1 ; 48
388
        test_h_gr32     foo+1, er2
389
        mova/w.l @(0x1234:16,@er2-.b),er1          ;017FA2A11234
390
        test_h_gr32     0x1236, er1 ; 47
391
        test_h_gr32     foo, er2
392
 
393
t02g:
394
        mov.l   #4, er2
395
        mova/w.l @(0x1234:16, @(foo:16, er2).b), er1
396
        test_h_gr32     0x1254, er1 ; 51
397
        mova/w.l @(0x1234:16, @(foo:16, r2L.b).b), er1
398
        test_h_gr32     0x1254, er1 ; 53
399
        mova/w.l @(0x1234:16, @(foo:16, r2.w).b), er1
400
        test_h_gr32     0x1254, er1 ; 54
401
        mova/w.l @(0x1234:16, @(foo:16, er2.l).b), er1
402
        test_h_gr32     0x1254, er1 ; 55
403
 
404
        mov.l   #4, er2
405
        mova/w.l @(0x1234:16, @(foo:32, er2).b), er1
406
        test_h_gr32     0x1254, er1 ; 52
407
        mova/w.l @(0x1234:16, @(foo:32, r2L.b).b), er1
408
        test_h_gr32     0x1254, er1 ; 56
409
        mova/w.l @(0x1234:16, @(foo:32, r2.w).b), er1
410
        test_h_gr32     0x1254, er1 ; 57
411
        mova/w.l @(0x1234:16, @(foo:32, er2.l).b), er1
412
        test_h_gr32     0x1254, er1 ; 58
413
 
414
        mova/w.l @(0x1234:16,@foo:16.b),er1        ;017F40A19ABC1234
415
        test_h_gr32     0x1236, er1 ; 59 (can't test -- points into the woods)
416
        mova/w.l @(0x1234:16,@foo:32.b),er1        ;017F48A19ABCDEF01234
417
        test_h_gr32     0x1236, er1 ; 60 (can't test -- points into the woods)
418
 
419
t02h:
420
        mov.l   #foo, er2
421
        mova/w.l @(0x1234:16,@er2.w),er1           ;015F02B11234
422
        test_h_gr32     0x1436, er1 ; 61
423
        mova/w.l @(0x1234:16,@(0x2:2,er2).w),er1 ;015F12B11234
424
        test_h_gr32     0x1436, er1 ; 66, 0x1234 + (@(4+foo).w << 1
425
        mova/w.l @(0x1234:16,@er2+.w),er1          ;015F82B11234
426
        test_h_gr32     0x1436, er1 ; 62
427
        test_h_gr32     foo+2, er2
428
        mova/w.l @(0x1234:16,@-er2.w),er1          ;015FB2B11234
429
        test_h_gr32     0x1436, er1 ; 63
430
        test_h_gr32     foo, er2
431
        mova/w.l @(0x1234:16,@+er2.w),er1          ;015F92B11234
432
        test_h_gr32     0x1436, er1 ; 64
433
        test_h_gr32     foo+2, er2
434
        mova/w.l @(0x1234:16,@er2-.w),er1          ;015FA2B11234
435
        test_h_gr32     0x1436, er1 ; 65
436
        test_h_gr32     foo, er2
437
t02i:
438
        mov.l   #4, er2
439
        mova/w.l @(0x1234:16, @(foo:16, er2).w), er1
440
        test_h_gr32     0x3254, er1 ; 67
441
        shar.l  er2
442
        mova/w.l @(0x1234:16, @(foo:16, r2L.b).w), er1
443
        test_h_gr32     0x3254, er1 ; 69
444
        mova/w.l @(0x1234:16, @(foo:16, r2.w).w), er1
445
        test_h_gr32     0x3254, er1 ; 70
446
        mova/w.l @(0x1234:16, @(foo:16, er2.l).w), er1
447
        test_h_gr32     0x3254, er1 ; 71
448
 
449
        mov.l   #4, er2
450
        mova/w.l @(0x1234:16, @(foo:32, er2).w), er1
451
        test_h_gr32     0x3254, er1 ; 68
452
        shar.l  er2
453
        mova/w.l @(0x1234:16, @(foo:32, r2L.b).w), er1
454
        test_h_gr32     0x3254, er1 ; 72
455
        mova/w.l @(0x1234:16, @(foo:32, r2.w).w), er1
456
        test_h_gr32     0x3254, er1 ; 73
457
        mova/w.l @(0x1234:16, @(foo:32, er2.l).w), er1
458
        test_h_gr32     0x3254, er1 ; 74
459
 
460
        mova/w.l @(0x1234:16,@foo:16.w),er1        ;015F40B19ABC1234
461
        test_h_gr32     0x1436, er1 ; 75 (can't test -- points into the woods)
462
        mova/w.l @(0x1234:16,@foo:32.w),er1        ;015F48B19ABCDEF01234
463
        test_h_gr32     0x1436, er1 ; 76 (can't test -- points into the woods)
464
 
465
t02j:
466
        mov.l   #foo, er2
467
        mova/l.l @(0x1234:16,@er2.b),er1           ;017F02C11234
468
        test_h_gr32     0x1238, er1 ; 77
469
        mova/l.l @(0x1234:16,@(0x1:2,er2).b),er1    ;017F12C11234
470
        test_h_gr32     0x1238, er1 ; 82
471
        mova/l.l @(0x1234:16,@er2+.b),er1          ;017F82C11234
472
        test_h_gr32     0x1238, er1 ; 78
473
        test_h_gr32     foo+1, er2
474
        mova/l.l @(0x1234:16,@-er2.b),er1          ;017FB2C11234
475
        test_h_gr32     0x1238, er1 ; 79
476
        test_h_gr32     foo, er2
477
        mova/l.l @(0x1234:16,@+er2.b),er1          ;017F92C11234
478
        test_h_gr32     0x1238, er1 ; 80
479
        test_h_gr32     foo+1, er2
480
        mova/l.l @(0x1234:16,@er2-.b),er1          ;017FA2C11234
481
        test_h_gr32     0x1238, er1 ; 81
482
        test_h_gr32     foo, er2
483
 
484
t02k:
485
        mov.l   #4, er2
486
        mova/l.l @(0x1234:16, @(foo:16, er2).b), er1
487
        test_h_gr32     0x1274, er1 ; 83
488
        mova/l.l @(0x1234:16, @(foo:16, r2L.b).b), er1
489
        test_h_gr32     0x1274, er1 ; 85
490
        mova/l.l @(0x1234:16, @(foo:16, r2.w).b), er1
491
        test_h_gr32     0x1274, er1 ; 86
492
        mova/l.l @(0x1234:16, @(foo:16, er2.l).b), er1
493
        test_h_gr32     0x1274, er1 ; 87
494
 
495
        mov.l   #4, er2
496
        mova/l.l @(0x1234:16, @(foo:32, er2).b), er1
497
        test_h_gr32     0x1274, er1 ; 84
498
        mova/l.l @(0x1234:16, @(foo:32, r2L.b).b), er1
499
        test_h_gr32     0x1274, er1 ; 88
500
        mova/l.l @(0x1234:16, @(foo:32, r2.w).b), er1
501
        test_h_gr32     0x1274, er1 ; 89
502
        mova/l.l @(0x1234:16, @(foo:32, er2.l).b), er1
503
        test_h_gr32     0x1274, er1 ; 90
504
 
505
        mova/l.l @(0x1234:16,@foo:16.b),er1        ;017F40C19ABC1234
506
        test_h_gr32     0x1238, er1 ; 91 (can't test -- points into the woods)
507
        mova/l.l @(0x1234:16,@foo:32.b),er1        ;017F48C19ABCDEF01234
508
        test_h_gr32     0x1238, er1 ; 92 (can't test -- points into the woods)
509
 
510
t02l:
511
        mov.l   #foo, er2
512
        mova/l.l @(0x1234:16,@er2.w),er1           ;015F02D11234
513
        test_h_gr32     0x1638, er1 ; 93
514
        mova/l.l @(0x1234:16,@(0x2:2,er2).w),er1   ;015F12D11234
515
        test_h_gr32     0x1638, er1 ; 98 
516
        mova/l.l @(0x1234:16,@er2+.w),er1          ;015F82D11234
517
        test_h_gr32     0x1638, er1 ; 94
518
        test_h_gr32     foo+2, er2
519
        mova/l.l @(0x1234:16,@-er2.w),er1          ;015FB2D11234
520
        test_h_gr32     0x1638, er1 ; 97
521
        test_h_gr32     foo, er2
522
        mova/l.l @(0x1234:16,@+er2.w),er1          ;015F92D11234
523
        test_h_gr32     0x1638, er1 ; 96
524
        test_h_gr32     foo+2, er2
525
        mova/l.l @(0x1234:16,@er2-.w),er1          ;015FA2D11234
526
        test_h_gr32     0x1638, er1 ; 95
527
        test_h_gr32     foo, er2
528
 
529
t02o:
530
        mov.l   #4, er2
531
        mova/l.l @(0x1234:16, @(foo:16, er2).w), er1
532
        test_h_gr32     0x5274, er1 ; 99
533
        shar.l  er2
534
        mova/l.l @(0x1234:16, @(foo:16, r2L.b).w), er1
535
        test_h_gr32     0x5274, er1 ; 101
536
        mova/l.l @(0x1234:16, @(foo:16, r2.w).w), er1
537
        test_h_gr32     0x5274, er1 ; 102
538
        mova/l.l @(0x1234:16, @(foo:16, er2.l).w), er1
539
        test_h_gr32     0x5274, er1 ; 103
540
 
541
        mov.l   #4, er2
542
        mova/l.l @(0x1234:16, @(foo:32, er2).w), er1
543
        test_h_gr32     0x5274, er1 ; 100
544
        shar.l  er2
545
        mova/l.l @(0x1234:16, @(foo:32, r2L.b).w), er1
546
        test_h_gr32     0x5274, er1 ; 104
547
        mova/l.l @(0x1234:16, @(foo:32, r2.w).w), er1
548
        test_h_gr32     0x5274, er1 ; 105
549
        mova/l.l @(0x1234:16, @(foo:32, er2.l).w), er1
550
        test_h_gr32     0x5274, er1 ; 106
551
 
552
        mova/l.l @(0x1234:16,@foo:16.w),er1        ;015F40D19ABC1234
553
        test_h_gr32     0x1638, er1 ; 107 (can't test -- points into the woods)
554
        mova/l.l @(0x1234:16,@foo:32.w),er1        ;015F48D19ABCDEF01234
555
        test_h_gr32     0x1638, er1 ; 108 (can't test -- points into the woods)
556
 
557
t02p:
558
        mov.l   #foo, er2
559
        mova/b.l @(0x12345678:32,@er2.b),er1              ;017F028912345678
560
        test_h_gr32     0x12345679, er1 ; 109
561
        mova/b.l @(0x12345678:32,@(0x1:2,er2).b),er1      ;017F128912345678
562
        test_h_gr32     0x12345679, er1 ; 114
563
        mova/b.l @(0x12345678:32,@er2+.b),er1             ;017F828912345678
564
        test_h_gr32     0x12345679, er1 ; 110
565
        test_h_gr32     foo+1, er2
566
        mova/b.l @(0x12345678:32,@-er2.b),er1             ;017FB28912345678
567
        test_h_gr32     0x12345679, er1 ; 113
568
        test_h_gr32     foo, er2
569
        mova/b.l @(0x12345678:32,@+er2.b),er1             ;017F928912345678
570
        test_h_gr32     0x12345679, er1 ; 112
571
        test_h_gr32     foo+1, er2
572
        mova/b.l @(0x12345678:32,@er2-.b),er1             ;017FA28912345678
573
        test_h_gr32     0x12345679, er1 ; 111
574
        test_h_gr32     foo, er2
575
 
576
t02q:
577
        mov.l   #4, er2
578
        mova/b.l @(0x12345678:32, @(foo:16, er2).b), er1
579
        test_h_gr32     0x12345688, er1 ; 115
580
        mova/b.l @(0x12345678:32, @(foo:16, r2L.b).b), er1
581
        test_h_gr32     0x12345688, er1 ; 117
582
        mova/b.l @(0x12345678:32, @(foo:16, r2.w).b), er1
583
        test_h_gr32     0x12345688, er1 ; 118
584
        mova/b.l @(0x12345678:32, @(foo:16, er2.l).b), er1
585
        test_h_gr32     0x12345688, er1 ; 119
586
 
587
        mov.l   #4, er2
588
        mova/b.l @(0x12345678:32, @(foo:32, er2).b), er1
589
        test_h_gr32     0x12345688, er1 ; 116
590
        mova/b.l @(0x12345678:32, @(foo:32, r2L.b).b), er1
591
        test_h_gr32     0x12345688, er1 ; 120
592
        mova/b.l @(0x12345678:32, @(foo:32, r2.w).b), er1
593
        test_h_gr32     0x12345688, er1 ; 121
594
        mova/b.l @(0x12345678:32, @(foo:32, er2.l).b), er1
595
        test_h_gr32     0x12345688, er1 ; 122
596
 
597
        mova/b.l @(0x12345678:32,@foo:16.b),er1
598
        test_h_gr32     0x12345679, er1 ; 123
599
        mova/b.l @(0x12345678:32,@foo:32.b),er1
600
        test_h_gr32     0x12345679, er1 ; 124
601
 
602
t02r:
603
        mov.l   #foo, er2
604
        mova/b.l @(0x12345678:32,@er2.w),er1              ;015F029912345678
605
        test_h_gr32     0x12345779, er1 ; 125
606
        mova/b.l @(0x12345678:32,@(0x2:2,er2).w),er1      ;015F129912345678
607
        test_h_gr32     0x12345779, er1 ; 130
608
        mova/b.l @(0x12345678:32,@er2+.w),er1             ;015F829912345678
609
        test_h_gr32     0x12345779, er1 ; 126
610
        test_h_gr32     foo+2, er2
611
        mova/b.l @(0x12345678:32,@-er2.w),er1             ;015FB29912345678
612
        test_h_gr32     0x12345779, er1 ; 129
613
        test_h_gr32     foo, er2
614
        mova/b.l @(0x12345678:32,@+er2.w),er1             ;015F929912345678
615
        test_h_gr32     0x12345779, er1 ; 128
616
        test_h_gr32     foo+2, er2
617
        mova/b.l @(0x12345678:32,@er2-.w),er1             ;015FA29912345678
618
        test_h_gr32     0x12345779, er1 ; 127
619
        test_h_gr32     foo, er2
620
 
621
        mov.l   #4, er2
622
        mova/b.l @(0x12345678:32, @(foo:16, er2).w), er1
623
        test_h_gr32     0x12346688, er1 ; 131
624
        shar.l  er2
625
        mova/b.l @(0x12345678:32, @(foo:16, r2L.b).w), er1
626
        test_h_gr32     0x12346688, er1 ; 133
627
        mova/b.l @(0x12345678:32, @(foo:16, r2.w).w), er1
628
        test_h_gr32     0x12346688, er1 ; 134
629
        mova/b.l @(0x12345678:32, @(foo:16, er2.l).w), er1
630
        test_h_gr32     0x12346688, er1 ; 135
631
 
632
        mov.l   #4, er2
633
        mova/b.l @(0x12345678:32, @(foo:32, er2).w), er1
634
        test_h_gr32     0x12346688, er1 ; 132
635
        shar.l  er2
636
        mova/b.l @(0x12345678:32, @(foo:32, r2L.b).w), er1
637
        test_h_gr32     0x12346688, er1 ; 136
638
        mova/b.l @(0x12345678:32, @(foo:32, r2.w).w), er1
639
        test_h_gr32     0x12346688, er1 ; 137
640
        mova/b.l @(0x12345678:32, @(foo:32, er2.l).w), er1
641
        test_h_gr32     0x12346688, er1 ; 138
642
 
643
        mova/b.l @(0x12345678:32,@foo:16.w),er1
644
        test_h_gr32     0x12345779, er1 ; 139
645
        mova/b.l @(0x12345678:32,@foo:32.w),er1
646
        test_h_gr32     0x12345779, er1 ; 140
647
 
648
t02s:
649
        mov.l   #foo, er2
650
        mova/w.l @(0x12345678:32,@er2.b),er1           ;017F02A912345678
651
        test_h_gr32     0x1234567a, er1 ; 141
652
        mova/w.l @(0x12345678:32,@(0x1:2,er2).b),er1   ;017F12A912345678
653
        test_h_gr32     0x1234567a, er1 ; 146
654
        mova/w.l @(0x12345678:32,@er2+.b),er1          ;017F82A912345678
655
        test_h_gr32     0x1234567a, er1 ; 142
656
        test_h_gr32     foo+1, er2
657
        mova/w.l @(0x12345678:32,@-er2.b),er1          ;017FB2A912345678
658
        test_h_gr32     0x1234567a, er1 ; 145
659
        test_h_gr32     foo, er2
660
        mova/w.l @(0x12345678:32,@+er2.b),er1          ;017F92A912345678
661
        test_h_gr32     0x1234567a, er1 ; 144
662
        test_h_gr32     foo+1, er2
663
        mova/w.l @(0x12345678:32,@er2-.b),er1          ;017FA2A912345678
664
        test_h_gr32     0x1234567a, er1 ; 143
665
        test_h_gr32     foo, er2
666
 
667
        mov.l   #4, er2
668
        mova/w.l @(0x12345678:32, @(foo:16, er2).b), er1
669
        test_h_gr32     0x12345698, er1 ; 147
670
        mova/w.l @(0x12345678:32, @(foo:16, r2L.b).b), er1
671
        test_h_gr32     0x12345698, er1 ; 149
672
        mova/w.l @(0x12345678:32, @(foo:16, r2.w).b), er1
673
        test_h_gr32     0x12345698, er1 ; 150
674
        mova/w.l @(0x12345678:32, @(foo:16, er2.l).b), er1
675
        test_h_gr32     0x12345698, er1 ; 151
676
 
677
        mov.l   #4, er2
678
        mova/w.l @(0x12345678:32, @(foo:32, er2).b), er1
679
        test_h_gr32     0x12345698, er1 ; 148
680
        mova/w.l @(0x12345678:32, @(foo:32, r2L.b).b), er1
681
        test_h_gr32     0x12345698, er1 ; 152
682
        mova/w.l @(0x12345678:32, @(foo:32, r2.w).b), er1
683
        test_h_gr32     0x12345698, er1 ; 153
684
        mova/w.l @(0x12345678:32, @(foo:32, er2.l).b), er1
685
        test_h_gr32     0x12345698, er1 ; 154
686
 
687
        mova/w.l @(0x12345678:32,@foo:16.b),er1
688
        test_h_gr32     0x1234567a, er1 ; 155
689
        mova/w.l @(0x12345678:32,@foo:32.b),er1
690
        test_h_gr32     0x1234567a, er1 ; 156
691
 
692
t02t:
693
        mov.l   #foo, er2
694
        mova/w.l @(0x12345678:32,@er2.w),er1           ;015F02B912345678
695
        test_h_gr32     0x1234587a, er1 ; 157
696
        mova/w.l @(0x12345678:32,@(0x2:2,er2).w),er1   ;015F12B912345678
697
        test_h_gr32     0x1234587a, er1 ; 162
698
        mova/w.l @(0x12345678:32,@er2+.w),er1          ;015F82B912345678
699
        test_h_gr32     0x1234587a, er1 ; 158
700
        test_h_gr32     foo+2, er2
701
        mova/w.l @(0x12345678:32,@-er2.w),er1          ;015FB2B912345678
702
        test_h_gr32     0x1234587a, er1 ; 161
703
        test_h_gr32     foo, er2
704
        mova/w.l @(0x12345678:32,@+er2.w),er1          ;015F92B912345678
705
        test_h_gr32     0x1234587a, er1 ; 160
706
        test_h_gr32     foo+2, er2
707
        mova/w.l @(0x12345678:32,@er2-.w),er1          ;015FA2B912345678
708
        test_h_gr32     0x1234587a, er1 ; 159
709
        test_h_gr32     foo, er2
710
 
711
        mov.l   #4, er2
712
        mova/w.l @(0x12345678:32, @(foo:16, er2).w), er1
713
        test_h_gr32     0x12347698, er1 ; 163
714
        shar.l  er2
715
        mova/w.l @(0x12345678:32, @(foo:16, r2L.b).w), er1
716
        test_h_gr32     0x12347698, er1 ; 165
717
        mova/w.l @(0x12345678:32, @(foo:16, r2.w).w), er1
718
        test_h_gr32     0x12347698, er1 ; 166
719
        mova/w.l @(0x12345678:32, @(foo:16, er2.l).w), er1
720
        test_h_gr32     0x12347698, er1 ; 167
721
 
722
        mov.l   #4, er2
723
        mova/w.l @(0x12345678:32, @(foo:32, er2).w), er1
724
        test_h_gr32     0x12347698, er1 ; 164
725
        shar.l  er2
726
        mova/w.l @(0x12345678:32, @(foo:32, r2L.b).w), er1
727
        test_h_gr32     0x12347698, er1 ; 168
728
        mova/w.l @(0x12345678:32, @(foo:32, r2.w).w), er1
729
        test_h_gr32     0x12347698, er1 ; 169
730
        mova/w.l @(0x12345678:32, @(foo:32, er2.l).w), er1
731
        test_h_gr32     0x12347698, er1 ; 170
732
 
733
        mova/w.l @(0x12345678:32,@foo:16.w),er1
734
        test_h_gr32     0x1234587a, er1 ; 171
735
        mova/w.l @(0x12345678:32,@foo:32.w),er1
736
        test_h_gr32     0x1234587a, er1 ; 172
737
 
738
t02u:
739
        mov.l   #foo, er2
740
        mova/l.l @(0x12345678:32,@er2.b),er1           ;017F02C912345678
741
        test_h_gr32     0x1234567c, er1 ; 173
742
        mova/l.l @(0x12345678:32,@(0x1:2,er2).b),er1   ;017F12C912345678
743
        test_h_gr32     0x1234567c, er1 ; 178
744
        mova/l.l @(0x12345678:32,@er2+.b),er1          ;017F82C912345678
745
        test_h_gr32     0x1234567c, er1 ; 174
746
        test_h_gr32     foo+1, er2
747
        mova/l.l @(0x12345678:32,@-er2.b),er1          ;017FB2C912345678
748
        test_h_gr32     0x1234567c, er1 ; 177
749
        test_h_gr32     foo, er2
750
        mova/l.l @(0x12345678:32,@+er2.b),er1          ;017F92C912345678
751
        test_h_gr32     0x1234567c, er1 ; 176
752
        test_h_gr32     foo+1, er2
753
        mova/l.l @(0x12345678:32,@er2-.b),er1          ;017FA2C912345678
754
        test_h_gr32     0x1234567c, er1 ; 175
755
        test_h_gr32     foo, er2
756
 
757
        mov.l   #4, er2
758
        mova/l.l @(0x12345678:32, @(foo:16, er2).b), er1
759
        test_h_gr32     0x123456b8, er1 ; 179
760
        mova/l.l @(0x12345678:32, @(foo:16, r2L.b).b), er1
761
        test_h_gr32     0x123456b8, er1 ; 181
762
        mova/l.l @(0x12345678:32, @(foo:16, r2.w).b), er1
763
        test_h_gr32     0x123456b8, er1 ; 182
764
        mova/l.l @(0x12345678:32, @(foo:16, er2.l).b), er1
765
        test_h_gr32     0x123456b8, er1 ; 183
766
 
767
        mov.l   #4, er2
768
        mova/l.l @(0x12345678:32, @(foo:32, er2).b), er1
769
        test_h_gr32     0x123456b8, er1 ; 180
770
        mova/l.l @(0x12345678:32, @(foo:32, r2L.b).b), er1
771
        test_h_gr32     0x123456b8, er1 ; 184
772
        mova/l.l @(0x12345678:32, @(foo:32, r2.w).b), er1
773
        test_h_gr32     0x123456b8, er1 ; 185
774
        mova/l.l @(0x12345678:32, @(foo:32, er2.l).b), er1
775
        test_h_gr32     0x123456b8, er1 ; 186
776
 
777
        mova/l.l @(0x12345678:32,@foo:16.b),er1
778
        test_h_gr32     0x1234567c, er1 ; 187
779
        mova/l.l @(0x12345678:32,@foo:32.b),er1
780
        test_h_gr32     0x1234567c, er1 ; 188
781
 
782
t02v:
783
        mov.l   #foo, er2
784
        mova/l.l @(0x12345678:32,@er2.w),er1           ;015F02D912345678
785
        test_h_gr32     0x12345a7c, er1 ; 189
786
        mova/l.l @(0x12345678:32,@(0x2:2,er2).w),er1   ;015F12D912345678
787
        test_h_gr32     0x12345a7c, er1 ; 194
788
        mova/l.l @(0x12345678:32,@er2+.w),er1          ;015F82D912345678
789
        test_h_gr32     0x12345a7c, er1 ; 190
790
        test_h_gr32     foo+2, er2
791
        mova/l.l @(0x12345678:32,@-er2.w),er1          ;015FB2D912345678
792
        test_h_gr32     0x12345a7c, er1 ; 193
793
        test_h_gr32     foo, er2
794
        mova/l.l @(0x12345678:32,@+er2.w),er1          ;015F92D912345678
795
        test_h_gr32     0x12345a7c, er1 ; 192
796
        test_h_gr32     foo+2, er2
797
        mova/l.l @(0x12345678:32,@er2-.w),er1          ;015FA2D912345678
798
        test_h_gr32     0x12345a7c, er1 ; 191
799
        test_h_gr32     foo, er2
800
 
801
        mov.l   #4, er2
802
        mova/l.l @(0x12345678:32, @(foo:16, er2).w), er1
803
        test_h_gr32     0x123496b8, er1 ; 195
804
        shar.l  er2
805
        mova/l.l @(0x12345678:32, @(foo:16, r2L.b).w), er1
806
        test_h_gr32     0x123496b8, er1 ; 197
807
        mova/l.l @(0x12345678:32, @(foo:16, r2.w).w), er1
808
        test_h_gr32     0x123496b8, er1 ; 198
809
        mova/l.l @(0x12345678:32, @(foo:16, er2.l).w), er1
810
        test_h_gr32     0x123496b8, er1 ; 199
811
 
812
        mov.l   #4, er2
813
        mova/l.l @(0x12345678:32, @(foo:32, er2).w), er1
814
        test_h_gr32     0x123496b8, er1 ; 195
815
        shar.l  er2
816
        mova/l.l @(0x12345678:32, @(foo:32, r2L.b).w), er1
817
        test_h_gr32     0x123496b8, er1 ; 197
818
        mova/l.l @(0x12345678:32, @(foo:32, r2.w).w), er1
819
        test_h_gr32     0x123496b8, er1 ; 198
820
        mova/l.l @(0x12345678:32, @(foo:32, er2.l).w), er1
821
        test_h_gr32     0x123496b8, er1 ; 199
822
 
823
        mova/l.l @(0x12345678:32,@foo:16.w),er1
824
        test_h_gr32     0x12345a7c, er1 ; 203
825
        mova/l.l @(0x12345678:32,@foo:32.w),er1
826
        test_h_gr32     0x12345a7c, er1 ; 204
827
 
828
        test_gr_a5a5    0
829
        test_h_gr32     2, er2
830
        test_h_gr32     0x01010101, er3
831
        test_gr_a5a5    4
832
        test_gr_a5a5    5
833
        test_gr_a5a5    6
834
        test_gr_a5a5    7
835
 
836
        pass
837
 
838
        exit 0

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.