Commit | Line | Data |
---|---|---|
4a306116 DB |
1 | # frv testcase for swap @($GRi,$GRj),$GRk |
2 | # mach: all | |
3 | ||
4 | .include "testutils.inc" | |
5 | ||
6 | start | |
7 | ||
8 | .global swap | |
9 | swap: | |
10 | set_gr_gr sp,gr20 | |
11 | set_mem_limmed 0xdead,0xbeef,sp | |
12 | inc_gr_immed -4,sp | |
13 | set_gr_gr sp,gr21 | |
14 | set_mem_limmed 0xbeef,0xdead,sp | |
15 | inc_gr_immed -4,sp | |
16 | set_gr_gr sp,gr22 | |
17 | set_mem_limmed 0xdead,0xbeef,sp | |
18 | inc_gr_immed 4,sp | |
19 | ||
20 | set_gr_limmed 0xbeef,0xdead,gr8 | |
21 | set_gr_immed -4,gr7 | |
22 | swap @(sp,gr7),gr8 | |
23 | test_gr_limmed 0xdead,0xbeef,gr8 | |
24 | test_mem_limmed 0xbeef,0xdead,gr22 | |
25 | test_mem_limmed 0xbeef,0xdead,gr21 | |
26 | test_mem_limmed 0xdead,0xbeef,gr20 | |
27 | ||
28 | set_gr_immed 0,gr7 | |
29 | swap @(sp,gr7),gr8 | |
30 | test_gr_limmed 0xbeef,0xdead,gr8 | |
31 | test_mem_limmed 0xbeef,0xdead,gr22 | |
32 | test_mem_limmed 0xdead,0xbeef,gr21 | |
33 | test_mem_limmed 0xdead,0xbeef,gr20 | |
34 | ||
35 | set_gr_immed 4,gr7 | |
36 | swap @(sp,gr7),gr8 | |
37 | test_gr_limmed 0xdead,0xbeef,gr8 | |
38 | test_mem_limmed 0xbeef,0xdead,gr22 | |
39 | test_mem_limmed 0xdead,0xbeef,gr21 | |
40 | test_mem_limmed 0xbeef,0xdead,gr20 | |
41 | ||
42 | pass |