]>
Commit | Line | Data |
---|---|---|
4a306116 DB |
1 | # frv testcase for rsthf $FRk,@($GRi,$GRj) |
2 | # mach: frv | |
3 | # as(frv): -mcpu=frv | |
4 | ||
5 | .include "testutils.inc" | |
6 | ||
7 | start | |
8 | ||
9 | .global add | |
10 | add: | |
11 | ; No nesr's active | |
12 | set_gr_gr sp,gr22 | |
13 | set_mem_limmed 0x2222,0x2222,gr22 | |
14 | set_gr_gr gr22,gr21 | |
15 | inc_gr_immed -4,gr21 | |
16 | set_mem_limmed 0x3333,0x3333,gr21 | |
17 | set_gr_gr gr22,gr23 | |
18 | set_gr_limmed 0x1111,0x1111,gr20 | |
19 | set_fr_iimmed 0x1111,0x1111,fr20 | |
20 | set_gr_immed 0,gr7 | |
21 | set_fr_iimmed 0xffff,0xffff,fr8 | |
22 | rsthf fr8,@(sp,gr7) | |
23 | test_mem_limmed 0xffff,0x2222,gr22 | |
24 | test_mem_limmed 0x3333,0x3333,gr21 | |
25 | test_gr_limmed 0x1111,0x1111,gr20 | |
26 | test_fr_limmed 0x1111,0x1111,fr20 | |
27 | ||
28 | ; 1 nesr active with the incorrect address in neear for gr | |
29 | inc_gr_immed -2,gr23 | |
30 | nlduhi @(sp,-2),gr20 | |
31 | test_spr_gr neear0,gr23 | |
32 | set_mem_limmed 0x2222,0x2222,gr22 | |
33 | set_mem_limmed 0x3333,0x3333,gr21 | |
34 | set_gr_limmed 0x1111,0x1111,gr20 | |
35 | set_fr_iimmed 0xffff,0xffff,fr8 | |
36 | set_gr_immed 2,gr7 | |
37 | rsthf fr8,@(sp,gr7) | |
38 | test_mem_limmed 0x2222,0xffff,gr22 | |
39 | test_mem_limmed 0x3333,0x3333,gr21 | |
40 | test_gr_limmed 0x1111,0x1111,gr20 | |
41 | test_fr_limmed 0x1111,0x1111,fr20 | |
42 | ||
43 | ; 1 nesr active with the incorrect address in neear for fr | |
44 | inc_gr_immed -2,gr23 | |
45 | nldhfi @(sp,-4),fr20 | |
46 | test_spr_gr neear1,gr23 | |
47 | set_mem_limmed 0x2222,0x2222,gr22 | |
48 | set_mem_limmed 0x3333,0x3333,gr21 | |
49 | set_gr_limmed 0x1111,0x1111,gr20 | |
50 | set_fr_iimmed 0x1111,0x1111,fr20 | |
51 | set_fr_iimmed 0xffff,0xffff,fr8 | |
52 | inc_gr_immed 4,sp | |
53 | set_gr_immed -4,gr7 | |
54 | rsthf fr8,@(sp,gr7) | |
55 | test_mem_limmed 0xffff,0x2222,gr22 | |
56 | test_mem_limmed 0x3333,0x3333,gr21 | |
57 | test_gr_limmed 0x1111,0x1111,gr20 | |
58 | test_fr_limmed 0x1111,0x1111,fr20 | |
59 | ||
60 | ; 1 nesr active with the correct address in neear for gr | |
61 | set_mem_limmed 0x2222,0x2222,gr22 | |
62 | set_mem_limmed 0x3333,0x3333,gr21 | |
63 | set_gr_limmed 0x1111,0x1111,gr20 | |
64 | set_fr_iimmed 0x1111,0x1111,fr20 | |
65 | set_fr_iimmed 0xffff,0xffff,fr8 | |
66 | inc_gr_immed -4,sp | |
67 | set_gr_immed -2,gr7 | |
68 | rsthf fr8,@(sp,gr7) | |
69 | test_mem_limmed 0x2222,0x2222,gr22 | |
70 | test_mem_limmed 0x3333,0xffff,gr21 | |
71 | test_gr_limmed 0x0000,0xffff,gr20 | |
72 | test_fr_limmed 0x1111,0x1111,fr20 | |
73 | ||
74 | ; 1 nesr active with the correct address in neear for fr | |
75 | set_mem_limmed 0x2222,0x2222,gr22 | |
76 | set_mem_limmed 0x3333,0x3333,gr21 | |
77 | set_gr_limmed 0x1111,0x1111,gr20 | |
78 | set_fr_iimmed 0x1111,0x1111,fr20 | |
79 | set_fr_iimmed 0xffff,0xffff,fr8 | |
80 | set_gr_immed -4,gr7 | |
81 | rsthf fr8,@(sp,gr7) | |
82 | test_mem_limmed 0x2222,0x2222,gr22 | |
83 | test_mem_limmed 0xffff,0x3333,gr21 | |
84 | test_gr_limmed 0x1111,0x1111,gr20 | |
85 | test_fr_limmed 0x0000,0xffff,fr20 | |
86 | ||
87 | pass |