1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# frv testcase for ldd @($GRi,$GRj),$GRk
# mach: all
.include "testutils.inc"
start
.global ldd
ldd:
set_mem_limmed 0xdead,0xbeef,sp
inc_gr_immed -4,sp
set_mem_limmed 0xbeef,0xdead,sp
set_gr_limmed 0xdead,0xbeef,gr8
set_gr_limmed 0xbeef,0xdead,gr9
set_gr_immed 0,gr7
ldd @(sp,gr7),gr8
test_gr_limmed 0xbeef,0xdead,gr8
test_gr_limmed 0xdead,0xbeef,gr9
set_gr_limmed 0xdead,0xbeef,gr8
set_gr_limmed 0xbeef,0xdead,gr9
inc_gr_immed -8,sp
set_gr_immed 8,gr7
ldd @(sp,gr7),gr8
test_gr_limmed 0xbeef,0xdead,gr8
test_gr_limmed 0xdead,0xbeef,gr9
set_gr_limmed 0xdead,0xbeef,gr8
set_gr_limmed 0xbeef,0xdead,gr9
inc_gr_immed 16,sp
set_gr_immed -8,gr7
ldd @(sp,gr7),gr8
test_gr_limmed 0xbeef,0xdead,gr8
test_gr_limmed 0xdead,0xbeef,gr9
; loading into gr0 should have no effect
; gr1 is sp
set_gr_gr gr1,gr8
ldd @(sp,gr7),gr0
test_gr_immed 0,gr0
test_gr_gr gr1,gr8
pass
|