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
|
# frv parallel testcase for stdc $CPk,@($GRi,$GRj)
# mach: frv
.include "testutils.inc"
start
.global stdc
stdc:
set_mem_limmed 0xbeef,0xdead,sp
inc_gr_immed -4,sp
set_mem_limmed 0xdead,0xbeef,sp
set_gr_immed 0,gr7
set_cpr_limmed 0xbeef,0xdead,cpr8
set_cpr_limmed 0xdead,0xbeef,cpr9
stdc cpr8,@(sp,gr7) ; non parallel
test_mem_limmed 0xbeef,0xdead,sp
inc_gr_immed 4,sp
test_mem_limmed 0xdead,0xbeef,sp
set_mem_limmed 0xbeef,0xdead,sp
inc_gr_immed -4,sp
set_mem_limmed 0xdead,0xbeef,sp
set_gr_immed 4,gr7
set_cpr_limmed 0xbeef,0xdead,cpr8
set_cpr_limmed 0xdead,0xbeef,cpr9
stdc.p cpr8,@(sp,gr0) ; parallel
addi sp,4,sp
subi sp,4,sp
ldc @(sp,gr0),cpr10
ldc @(sp,gr7),cpr11
test_mem_limmed 0xbeef,0xdead,sp ; memory is set
inc_gr_immed 4,sp
test_mem_limmed 0xdead,0xbeef,sp
test_cpr_limmed 0xbeef,0xdead,cpr10
test_cpr_limmed 0xdead,0xbeef,cpr11
pass
|