Commit | Line | Data |
---|---|---|
4a306116 | 1 | # frv testcase for dcef @(GRi,GRj),a |
086419a8 | 2 | # mach: fr400 fr550 |
4a306116 DB |
3 | |
4 | .include "testutils.inc" | |
5 | ||
6 | start | |
7 | ||
8 | .global dcef | |
9 | dcef: | |
10 | and_spr_immed 0x7fffffff,hsr0 ; data cache only: copy-back mode | |
11 | set_gr_addr doit,gr10 | |
12 | set_gr_immed 0,gr11 | |
13 | set_gr_immed 1,gr12 | |
14 | set_gr_immed 2,gr13 | |
15 | set_gr_immed 3,gr14 | |
16 | ||
17 | set_spr_addr ok1,lr | |
18 | bra doit | |
19 | ok1: test_gr_immed 1,gr11 | |
20 | ||
21 | set_mem_immed 0x9600b00d,gr10 ; change to add gr11,gr13,gr11 in cache | |
22 | set_spr_addr ok2,lr | |
23 | bra doit | |
24 | ok2: test_gr_immed 2,gr11 ; still only added 1 | |
25 | ||
26 | set_gr_addr doit1,gr10 | |
27 | set_mem_immed 0x9600b00d,gr10 ; change to add gr11,gr13,gr11 in cache | |
28 | dcef @(gr10,gr0),1 ; flush data cache | |
29 | set_spr_addr ok3,lr | |
30 | bra doit1 | |
31 | ok3: test_gr_immed 4,gr11 ; added 2 this time | |
32 | ||
33 | set_gr_addr doit2,gr10 | |
34 | set_mem_immed 0x9600b00e,gr10 ; change to add gr11,gr14,gr11 in cache | |
35 | dcef @(gr0,gr0),1 ; flush data cache | |
36 | set_spr_addr ok4,lr | |
37 | bra doit2 | |
38 | ok4: test_gr_immed 7,gr11 ; added 3 this time | |
39 | ||
40 | pass | |
41 | ||
42 | doit: add gr11,gr12,gr11 | |
43 | bralr | |
44 | ||
45 | doit1: add gr11,gr12,gr11 | |
46 | bralr | |
47 | ||
48 | doit2: add gr11,gr12,gr11 | |
49 | bralr | |
50 |